There are countless tools and IDEs to support developers in their daily work. Technologies such the Language Server Protocol (LSP), Eclipse EGit, Eclipse Xtext, Gradle, Docker, the various IDEs supported by Eclipse projects, Eclipse Papyrus, your latest VS Code plugin and more, cover use cases from typical IDE features over domain-specific languages, modeling tools, to application lifecycle management. Tell us about the best tools and frameworks, how you have built them, what technologies they adopt, and lessons learned.
Eclipse Theia is a framework to build next-generation web IDEs, leveraging components such as language servers, debug adapters, and even VS Code Extensions now!
Though all these moving parts may seem confusing, we should first take a look at how it all connects together, and how you can benefit from it when making your solution based on Theia.
Xtext is the de facto standard framework for the development of sophisticated domain specific languages (DSLs) in the Eclipse ecosystem and beyond. Even though the framework already provides a buckload of important features, we won’t become tired rethinking the architecture at scale or smaller features in isolation. Since Xtext version 2.20 is in the works, it’s about time to unveil a few of the planned features and work items.
Do you wonder how EGit, Gerrit Code Review and many other Java applications work with Git repositories?
Do you want to learn how JGit (and native Git)
- can detect quickly what happened to the files in your workspace since you created the last commit
- implement locking on the file system
- implement transactions to avoid data corruption e.g. due to a broken connection when fetching an update from the git server
Are you interested in
Currently, most Scala developers use Intellij IDEA as their main tool to write code. While it is a wholesome and tested solution, it might not suit everybody’s needs. A lot of people are using Eclipse as their editor of choice and the current solution, Scala IDE that is based on Eclipse, is no longer actively maintained. Metals is a Language Server Protocol (LSP) implementation enables users of Eclipse to enjoy rich IDE capabilities such as code completion, rename, diagnostics, goto definition and more.
EGit is an Eclipse team provider for Git and provides a great Git integration. EGit enables Eclipse users to use Git source control for their projects and easily perform Git operations from within the Eclipse IDE. It also provides a lot of powerful and useful features that allow users to perform many advanced Git operations with ease right from the UI without the need to resort to command line.
Few years back Eclipse with ScalaIDE plugin was the tool of choice for Scala developers. Nowadays Metals (LSP server for Scala) is 2nd most important IDE solution in Scala Ecosystem and its user base is growing quickly and steadily. I was involved in building ScalaIDE (e.g. I was main author of the expression evaluator in its debugger) and now my team is driving development for Metals and Eclipse Kotlin Plugin (so I am still in touch with Eclipse platform).
To launch the Eclipse IDE, it comes with a native executable and a companion shared library, which are currently written in C.
The launcher code is infrastructure for most Eclipse devs and seems to be rarely touched. Maybe this is because it simply works, maybe that is because the language and codebase seems arcane and unwieldy to Java developers.
Migration from single to multicore ECU systems are always challenging. One such challenge is ensuring consistent state of shared data among several program components executing on different cores. We have developed an eclipse based eco system to support developers for analyzing such use cases based on Model Driven System Analysis (MDSA). This involves eclipse technologies such as APP4MC, EMF and SIRIUS. This framework combines architecture description with generated code to prepare a base for data consistency analysis.
Autonomous driving research involves cooperation between engineers across fields, from control systems to machine learning. However, obtaining required programming skills to develop autonomous driving systems takes a lot of time and energy. We think that anyone with valuable knowledge should be able to contribute to development of autonomous driving technologies without going through struggles of software development.
Eclipse Che introduces a new kind of developer workspaces that are running directly on Kubernetes and accessible through a web based IDE. The new version of Eclipse Che 7 supports a codified definition of developer tooling needed to work on a project, called “Devfile”.
Devfile provides a declarative abstraction of a replicable developer workspaces, which is inclusive of the runtime environment, the source code of the projects mapped to repositories and the tools, plugins and commands needed to code, build, test, run and debug a project.
Devfile lives with the projects’ source code and follow its lifecycle. It’s easy to create, modify, fork and extend.