Theia Update – Extensions, Git Support & More

By | October 19th, 2017|Cloud IDE, Eclipse, Electron, Language Server, Theia, VSCode|

Back in May, we announced a new open-source IDE framework for build Desktop & Cloud IDEs implemented in TypeScript. Since then, Theia has become more mature and feature rich, approaching its 1.0 BETA version on December 6. During the last couple of months, the Theia developers (we count 19 contributors so far with two companies [...]

Extending a Language Server With Sprotty Diagrams

By | October 11th, 2017|Cloud IDE, Diagrams, DSLs, Eclipse, Generator, Language Server, sprotty, Theia, Xtext|

In my last post, I described how we connected an Xtext-based language server for the YANG language into various editor clients. Today, I will show how we added graphical diagrams using the sprotty framework. These diagrams show a graphical overview on your YANG documents. They are automatically layouted and updated on changes. They allow [...]

YANG-Tools: One Language Server for Four IDEs

By | October 7th, 2017|Cloud IDE, DSLs, Eclipse, Electron, Language Server, Theia, VSCode, Xtext|

There is a lot of hype around the Language Server Protocol: It allows language implementors to encapsulate the editor support for their language in a server that can talk to various clients through a JSON-based protocol. While initially designed for Visual Studio Code, lots of other editor clients started supporting it, and lots of [...]

sprotty – A Web-based Diagramming Framework

By | June 8th, 2017|Cloud IDE, Diagrams, DSLs, Eclipse, Language Server, sprotty|

Development tools in the web are trending. With Theia, we have already started to build an IDE platform with web technologies that works for browser apps as well as rich clients. While Xtext, Monaco, and LSP constitute a good foundation for textual editing, the question arises whether we can extend this idea for graphics. [...]

Theia – One IDE For Desktop & Cloud

By | May 17th, 2017|Cloud IDE, DSLs, Eclipse, Language Server, Xtext|

Today, I want to point you at a GitHub repository we have been contributing to for the last couple of weeks. Theia is a collaborative and open effort to build a new IDE framework in TypeScript. “Yet another IDE?”, You might think. Let me explain the motivation behind it and how its scope is [...]

Xtext LSP vs. Xtext Web

By | May 12th, 2017|Cloud IDE, DSLs, Eclipse, Language Server, Xtext|

The Eclipse Xtext language development framework can be used to implement domain-specific languages (DSLs) as well as fully blown programming languages. In addition to a modern compiler architecture, it comes with tool support for different platforms, like Eclipse, IntelliJ and Web. Since supporting all these different editor platforms is a lot of effort, we [...]

Teaching the Language Server Protocol to Microsoft’s Monaco Editor

By | April 24th, 2017|Cloud IDE, Language Server, Xtext|

Through the past years we have been integrating all kinds of different JavaScipt code editors, like Ace, Orion or CodeMirror into custom web-based software tools. Since last June another very good editor, has been available: Microsoft's Monaco editor, the editor widget that is used at the core of VSCode. Besides the very good quality and speed of the [...]

Eclipse LSP4J Is Here!

By | November 12th, 2016|Cloud IDE, DSLs, Eclipse, Language Server, Uncategorized, Xtext|

This week the LSP4J repository finally got created and filled with the initial contributions. LSP4J is a Java binding of Microsoft's Language Server Protocol (LSP) with a Java implementation of the extended JSON RPC v2.0 the LSP is based on. The project aims at simplifying implementation of a LanguageClient (an editor) or a LanguageServer (e.g. a [...]

How to Embed a Monaco Editor in a Browser as a Part of My First Task at TypeFox

By | November 2nd, 2016|Cloud IDE, Eclipse, Language Server, Xtext|

Hi there, this is Akos. I am the new one at TypeFox, and within this post, I would like to describe you what was my first task after joining TypeFox. Namely, how to embed the Monaco Editor in the web browser and how to support a simple expression language from the browser using the [...]