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 [...]

Xtext 2.11 Is Released

By | February 1st, 2017|DSLs, Eclipse, Language Server, Xtext|

After more than 7 months we finally got Xtext 2.11 out the door. Thanks for your patience. But good things come to those who wait! So go and get it while it's hot. Xtext 2.11 comes with tons of bugfixes and improvements for the framework itself and for Xtend. If you want more technical [...]

Tutorial – Building A Language Server For Your DSL

By | December 22nd, 2016|Eclipse, Language Server, Tutorial, Xtext|

Hey there, this is Christian. VS Code's Language Server Protocol opens up a new horizon of programming IDE development. And there's good news: Eclipse Xtext 2.11 will support you in building up a language server for your DSLs. With this post I want to demo that by means a pre-release snapshot starting with a blank desk. [...]

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 [...]

Xtext Core – Less is More

By | August 2nd, 2016|DSLs, Eclipse, Language Server, Xtext|

In this post I want to give a short update of what we've been doing in Xtext and what the future plans are. As you probably know, Xtext has been around for a couple of years growing into a very mature framework for implementing full blown programming languages like Xtend as well as simpler more [...]

Building a VS Code Extension with Xtext and the Language Server Protocol

By | July 27th, 2016|DSLs, Eclipse, Language Server, Xtext|

In the upcoming Version 2.11, Xtext will support the Language Server Protocol defined by Visual Studio Code. This is a very important step, as the protocol is generic and is going to be supported by other editors such as Eclipse or Che as well. In this post I want to give the early adopters among [...]

The Language Server Protocol in Java

By | June 30th, 2016|Eclipse, Language Server|

Note: The ls-api library has been superseded by LSP4J. Parts of this post refer to outdated API. The Language Server Protocol (LSP) is an interface for connecting arbitrary languages to development tools (IDEs). Such a connection enables important features like validation and code completion, which have become a matter of course in today's IDEs. LSP [...]