Theia for C/C++ and embedded development - Stefan Dirix

Subscribers:
24,000
Published on ● Video Link: https://www.youtube.com/watch?v=v54NWrkWv7M



Duration: 4:45
586 views
9


Do you have an existing C/C++ tool and want to migrate to Eclipse Theia? In this talk, we will provide a state-of-the-art overview and give recommendations about available tools, extensions and frameworks for building web-based C/C++ tooling based on Theia. We also present to you a template tool called CDT.cloud blueprint, which can be used for evaluation of Theia and which can serve as a basis for your own custom tool.

Theia provides a powerful platform for building C/C++ tools, including domain-specific and highly customized ones. This is not a coincidence, many of the current adopters and contributors actually build tools in this area. However, developing a C/C++ tool requires a profound overview of the ecosystem, as this undertaking involves quite a few technology decisions and expertise in how these technologies can be connected with each other. This includes choosing a language server, selecting C/C++ extensions, defining a build configuration management system and choosing solutions for a debug adapter, memory view, tracing, register view and many others.

In this talk, we will discuss the most common bits and pieces of a C/C++ tool chain based on Theia. We will discuss basic concepts, such as LSP, popular technology choices and also point out components currently under development to look out for in the near future. We will also demonstrate how to integrate all those bits and pieces into an example C/C++ tool that may act as the basis for your custom C/C++ tool product.

For this overview, we compiled the experiences gained from various customer projects, in which we are migrating to a web-based tooling, as well as the results of a technology survey among members of the ECDT working group. Therefore this overview should provide you with a profound overview of current trends and guidelines to get started with your own web-based tooling project for cloud-enabled C/C++ development.