Add vscode IDE to Onedev (OD-952)
Open
bufferUnderrun opened 2 years ago

vscode exists as a pure webapp (ie: https://vscode.dev/)

what about integrating vscode and adding a complete IDE to OneDev ?

bufferUnderrun commented 2 years ago

@robin Today in hacker news top threads : GitLab do it a few months ago

https://about.gitlab.com/blog/2022/05/23/the-future-of-the-gitlab-web-ide/

Robin Shen commented 2 years ago

@bufferunderrun thanks for the info. Due to complexility of this feature and limited resource currently, this may not come into OneDev very soon.

Prabir Shrestha commented 2 years ago

I would love to have this too. Currently if I go to any github repo and press . it redirects me to a VSCode editor which allows me to use search such as cmd+shift+f to search all repos. I usually use this to browse. You could probably enable simple file explorer and readonly view to start with.

Unknown commented 2 years ago

@bufferunderrun unfortunately I will have to disagree with this, I do not believe a git server should be a code editor.

You are fully able to self host your own vscode web instance and clone onedev repositories from it (maybe ask for a onedev plugin to make this even easier), but integrating this into the onedev platform would cause a lot of hassle (vscode is written in javascript in the backend, and the backend for onedev is java), and it would be redundant.

Maybe instead of integrating it into onedev, an option can be added to the clone to "clone into vscode instance" and in your account options you can set the url to the vscode instance you would like to use and your credentials for authentication, this means that the vscode instance and onedev are kept separate but are integrated sort of.

Matthias Gramberg commented 1 year ago

I would also strongly prefer a way to open the project in my local instance.

vscode.dev doesn't seem to give me LSP support, or it does only so for JS/TS maybe

Opening the project locally, would kinda help the workflow, I think

Unknown commented 1 year ago

This is most likely not going to be implemented, I advice you to spin up your own vscode server, and then just clone from onedev.

Maybe instead of asking for an integration, ask for a plugin to directly be able to interact with onedev (similar to the github plugin), because that is more likely.

Its not going to be easy to deal with vscode cloud instances within onedev natively.


Matthias Gramberg commented 1 year ago

Robin has already an idea, of how he is going to do that

https://code.onedev.io/onedev/server/~issues/1178#IssueComment-3934

"I also consider integrating vscode as a web ide for OneDev in future versions"

Robin Shen commented 1 year ago

Adding a VS code based web IDE is a long term plan for OneDev.

Unknown commented 1 year ago

The issue is, vscode is written in javascript, both frontend and backend, integrating this into onedev would be difficult unless you plan to fork and rewrite portions of vscode backend to be compatible with onedev, which I assume is a no...


Robin Shen commented 1 year ago

It is all about javascript. Only frontend.

Unknown commented 1 year ago

So you only plan to integrate the frontend, so you will have to host a vscode instance as well as a onedev instance and then point the onedev instance to the vscode instance...?


Robin Shen commented 1 year ago

I have not thought more on this yet. But is definitely doable.

Unknown commented 1 year ago

Seems like a lot of effort for little to no gain.

Onedev can easily be cloned into a vscode instance, having a button to bring you directly to one seems a bit lazy, when its a one line command to clone onedev and have the environment setup and ready to code.


Matthias Gramberg commented 1 year ago

The issue is, vscode is written in javascript, both frontend and backend, integrating this into onedev would be difficult unless you plan to fork and rewrite portions of vscode backend to be compatible with onedev, which I assume is a no...

That is actually not accurate. Oracle develops a new implementation of the JVM, called GraalVM.

It provides JVM + Truffle. And Truffle is a framework, that lets you define an AST and you get a debugger, JIT compiler, native image generation, visual inspectors and god knows what.

JVM languages can interact with that Truffle languages via a Polyglot API and Java is actually also implemented as a Truffle language, additionally.

https://www.graalvm.org/latest/reference-manual/java-on-truffle/

They make it really easy to integrate new languages, and there are already a bunch of supported.

Javascript is one of them.

https://www.graalvm.org/javascript/

P.S: Why can't I quote a reply? Is this not implemented, or do I miss something?

Robin Shen commented 1 year ago

I filed an improvement request for reply quote:

issue #1181 - Able to quote a reply in issue / pull request comment

Matthias Gramberg commented 1 year ago

?? wow, thanks ????

Unknown commented 1 year ago

@shalokshalom Graalvm has a lot of downsides, and no only that, it is only partially open source (and free to use), they intentionally handicap graal and force you to pay for the commercial edition.

JSW is bad enough to deal with, but a proprietary JVM to go along with it? In my opinion that would completely kill any motivation to use opendev.

Unknown commented 1 year ago

^^^ In addition to that, this graalvm could prevent self hosting, because you would not be able to build the code without a commercial license and therefore onedev would turn into SAAS

Matthias Gramberg commented 1 year ago

You seem to mix two things. Graal is completely open source, in the edition that leaves most other implementations of the respective languages already in the dust.

There is absolutely no reason, to shit on a project, just because it is offering a paid version. Lots of projects do that, and you seem to draw premature conclusions.

TruffleRuby JVM CE is 7.3x faster than CRuby 3.0 and TruffleRuby JVM EE is 10.6x faster than CRuby 3.0

Unknown commented 1 year ago

@shalokshalom unless something has changed since I last looked into graalvm, if you look into their comparison, you will see they intentionally handicap their open source edition to make their EE more promising, it is a horrible sales technique.

Unknown commented 1 year ago

Then again this is oracle we are speaking about, what do you expect?

Matthias Gramberg commented 1 year ago

They dont intentionally handicap their open source version. Like any product, that is marketed like that - including many popular products, has the enterprise additional software.

You can very much fork OneDev, add non-free features and this would not harm the value of OneDev.

How would a free product be harmed by another, paid version. It pays for it. Oracle has one of the most advanced, interesting VMs on the market, that allows to combine languages like never before.

Unknown commented 1 year ago

The EE edition has 6x faster performance at runtime? you don't call that handicapping?

Matthias Gramberg commented 1 year ago

If we decide between the Community Edition GraalVM, and the currently used OpenJDK edition:

If we compare both VMs, and see what offers us more features and performance.

The Graal CE edition is just as fast as the OpenJDK edition.

And the JIT and Native Image support coming for OpenJDK directly comes from Graal.

They are literally running the same code. From the same company.

Oracle runs both shops. Java is Oracle's language. And Oracle is also developing the JVM, at which we are speaking right now.

The EE from Graal is also 6x faster than the OpenJDK.

How is that not handicapping the OpenJDK? 😆

issue 1 of 1
Type
New Feature
Priority
Normal
Assignee
Issue Votes (0)
Watchers (6)
Reference
OD-952
Please wait...
Page is in error, reload to recover