Quantcast

CLangD + Eclipse Che

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

CLangD + Eclipse Che

Asiri Rathnayake via cfe-dev
Hello clang devs:


I am project lead for Eclipse Che - a developer workspace server and cloud IDE, which forms the basis of Codenvy. We did work with Microsoft and Red Hat to get the language server protocol announced last June. We had originally implemented a similar, but different protocol within Eclipse IDE and Eclipse Che. Our protocol was so similar to Microsoft's that we agreed to consolidate around a common one. We've been fortunate to see traction with 20 or so languages providing adapters.

We have received many customer (and end user) requests for a clang language server. It's (by far) the most requested feature we get. As soon as you have runnable prototypes for the implementation, we would like to have engineers get it packaged as a Che agent, which is how the language server gets deployed into workspaces that have c/c++ project types. Once packaged as an agent, then any browser running Che will have intellisense capabilities that match the language server protocol features implemented. Che provides a standard wrapper to the stdin/stdout JSON protocol, converting the traffic to become a JSON payload over a REST service communicated over a websocket to the browser. This allows language servers designed for working only over stdin to become distributed.

This mechanism would ship as a default with all Che (and Codenvy) installations, and likely picked up by the classic Eclipse IDE a bit later.

It would take us about a day or so to package it up. We also have a tutorial on how to register new language servers, which is fairly easy to follow as well.  However, we are happy to the packaging work.  https://www.eclipse.org/che/docs/workspace/agents/index.html#creating-new-agents.  Eventually, we look forward to building a public, open source registry of language servers that would allow any IDE to discover, download, install, and integrate a language server without first having it packaged for the platform, but that is a ways off.

If you are not familiar with Che - it was announced in early 2016 as an Eclipse Project. While people think of it as a browser IDE, it's key focus is on the workspace, which containes Dockerized runtimes (all your dev tools), debugger, project code (cloned like you do with localhost), and then a self-hosted browser IDE. Devs run Che servers which host workspaces are shared, collaborative. Developers can then use the embedded browser IDE or their desktop IDE. Che servers are launched as Docker containers "docker run eclipse/che start", so it lets you have a hosted dev environment anywhere.  The project has grown in adoption with our 5.0 release in January containing 1300 commits from 70 contributors including companies like SAP, Samsung and Red Hat. Telemetry from installs shows us about 150,000 hours of usage / week, up from about 10,000 a year ago.  While our community is not as seasoned or as big as clang's, we are working hard and seem to be on the front tip of a cloud development wave.

We are very excited to see this announcement - please reach out to us at any time, we we'll help do our part.

Tyler

Tyler Jewell | CEO | tyler@​codenvy.​com | 9​78​.8​84​.53​55

_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: CLangD + Eclipse Che

Asiri Rathnayake via cfe-dev
On Fri, Feb 3, 2017 at 11:31 PM Tyler Jewell via cfe-dev <[hidden email]> wrote:
Hello clang devs:


I am project lead for Eclipse Che - a developer workspace server and cloud IDE, which forms the basis of Codenvy. We did work with Microsoft and Red Hat to get the language server protocol announced last June. We had originally implemented a similar, but different protocol within Eclipse IDE and Eclipse Che. Our protocol was so similar to Microsoft's that we agreed to consolidate around a common one. We've been fortunate to see traction with 20 or so languages providing adapters.

We have received many customer (and end user) requests for a clang language server. It's (by far) the most requested feature we get. As soon as you have runnable prototypes for the implementation, we would like to have engineers get it packaged as a Che agent, which is how the language server gets deployed into workspaces that have c/c++ project types. Once packaged as an agent, then any browser running Che will have intellisense capabilities that match the language server protocol features implemented. Che provides a standard wrapper to the stdin/stdout JSON protocol, converting the traffic to become a JSON payload over a REST service communicated over a websocket to the browser. This allows language servers designed for working only over stdin to become distributed.

This mechanism would ship as a default with all Che (and Codenvy) installations, and likely picked up by the classic Eclipse IDE a bit later.

It would take us about a day or so to package it up. We also have a tutorial on how to register new language servers, which is fairly easy to follow as well.  However, we are happy to the packaging work.  https://www.eclipse.org/che/docs/workspace/agents/index.html#creating-new-agents.  Eventually, we look forward to building a public, open source registry of language servers that would allow any IDE to discover, download, install, and integrate a language server without first having it packaged for the platform, but that is a ways off.

If you are not familiar with Che - it was announced in early 2016 as an Eclipse Project. While people think of it as a browser IDE, it's key focus is on the workspace, which containes Dockerized runtimes (all your dev tools), debugger, project code (cloned like you do with localhost), and then a self-hosted browser IDE. Devs run Che servers which host workspaces are shared, collaborative. Developers can then use the embedded browser IDE or their desktop IDE. Che servers are launched as Docker containers "docker run eclipse/che start", so it lets you have a hosted dev environment anywhere.  The project has grown in adoption with our 5.0 release in January containing 1300 commits from 70 contributors including companies like SAP, Samsung and Red Hat. Telemetry from installs shows us about 150,000 hours of usage / week, up from about 10,000 a year ago.  While our community is not as seasoned or as big as clang's, we are working hard and seem to be on the front tip of a cloud development wave.

We are very excited to see this announcement - please reach out to us at any time, we we'll help do our part.

Nice to hear :) I'm not sure whether there is a call-to-action in your email, though - is there anything from our side we could help you with, other than implementing clangd?

Cheers,
/Manuel
 

Tyler

Tyler Jewell | CEO | tyler@​codenvy.​com | 9​78​.8​84​.53​55
_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev

_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: CLangD + Eclipse Che

Asiri Rathnayake via cfe-dev
​At this time the call to action would ​be for us to get early builds or distributions of clang packaged into a language server. Once available we will work on providing standard agent wrappers for Eclipse and do a round to integration tests to provide feedback on behaviors, bugs, or improvements.

Tyler Jewell | CEO | tyler@​codenvy.​com | 9​78​.8​84​.53​55


_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: CLangD + Eclipse Che

Asiri Rathnayake via cfe-dev

From: cfe-dev <[hidden email]> on behalf of Tyler Jewell via cfe-dev <[hidden email]>
Reply-To: Tyler Jewell <[hidden email]>
Date: Monday, February 6, 2017 at 11:54 AM
To: Manuel Klimek <[hidden email]>
Cc: "[hidden email]" <[hidden email]>
Subject: Re: [cfe-dev] CLangD + Eclipse Che

​At this time the call to action would ​be for us to get early builds or distributions of clang packaged into a language server. Once available we will work on providing standard agent wrappers for Eclipse and do a round to integration tests to provide feedback on behaviors, bugs, or improvements.

As Marc-Andre mentioned, the Eclipse CDT project is also signed up to hook this up to Eclipse. There is a lot of activity at Eclipse around the Language Server Protocol and where super excited to help bring clangd into the fold and contribute back where we can.

Is there a timeline in when code will start to drop so we can start to help?

Thanks!
Doug Schaefer, Eclipse CDT Project Co-Lead

_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: CLangD + Eclipse Che

Asiri Rathnayake via cfe-dev
On Mon, Feb 6, 2017 at 9:59 PM Doug Schaefer <[hidden email]> wrote:

From: cfe-dev <[hidden email]> on behalf of Tyler Jewell via cfe-dev <[hidden email]>
Reply-To: Tyler Jewell <[hidden email]>
Date: Monday, February 6, 2017 at 11:54 AM
To: Manuel Klimek <[hidden email]>
Cc: "[hidden email]" <[hidden email]>
Subject: Re: [cfe-dev] CLangD + Eclipse Che

​At this time the call to action would ​be for us to get early builds or distributions of clang packaged into a language server. Once available we will work on providing standard agent wrappers for Eclipse and do a round to integration tests to provide feedback on behaviors, bugs, or improvements.

As Marc-Andre mentioned, the Eclipse CDT project is also signed up to hook this up to Eclipse. There is a lot of activity at Eclipse around the Language Server Protocol and where super excited to help bring clangd into the fold and contribute back where we can.

Is there a timeline in when code will start to drop so we can start to help?

Code started dropping in r294291. Disclaimer: early stages, will change :)
 

Thanks!
Doug Schaefer, Eclipse CDT Project Co-Lead

_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
Loading...