Back to top
CDT Cloud Blueprint - a template for a web-based C/C++ tool

CDT Cloud Blueprint - a template for building web-based C/C++ tools

CDT Cloud

CDT Cloud hosts a growing number of components and best practices for building customizable web-based C/C++ tools

CDT Cloud Blueprint is a template tool for building custom, web-based C/C++ tools

VS Code extension containing a full featured memory inspector which uses the Debug Adapter Protocol

VS Code extension offering a peripheral view for exploring target registers described by SVD files

Simple VS Code extension for displaying serial output using a serial port (desktop) or WebSerial (browser)

Eclipse Trace Compass is a powerful visualization tool to solve performance and reliability issues by reading and analyzing traces and logs of a system.

API for management of clangd configuration files in C/C++ projects using contexts

Debug Adapter allowing common control over multiple debug adapters in VS Code

A fork of the vscode-clangd extension supporting multiple projects in one workspace.

Debug adapter for proxying the Debug Adapter Protoocl over websockets.

Explore existing ideas for new components or add your own in the Github discussions.

CDT Cloud Blueprint

CDT Cloud Blueprint is a template tool for building custom, web-based C/C++ tools. It is based on existing open source components from inside and outside of CDT Cloud to provide a typical C/C++ IDE based on the Eclipse Theia platform. The feature set includes C/C++ language editing support, debugging, memory analysis and trace visualization. Besides demonstrating CDT Cloud capabilities, CDT Cloud Blueprint also serves as a starting point for the implementation of a custom C/C++ IDE.

CDT Cloud Blueprint is currently in beta. While we are continuing to make improvements and add functionality, we welcome and value your feedback (see below).

Follow us on twitter to be notified about recent updates to the project. Get in contact with us to learn more or join this initiative.

Features

C/C++ language support

C/C++ language support

CDT Cloud Blueprint provides state-of-the-art language support for C/C++ including syntax highlighting, inline errors and warnings, quick fixes, code completion, namespace and include insertion, code navigation, formatting, details on hover, formatting, refactoring and rename. All this is provided by the integrated clangd language server based on the clang compiler.

Compilation and debugging

Compilation and debugging

CDT Cloud Blueprint allows you to integrate any compiler of choice via the flexible task system. By default, it also provides support for CMake via the popular CMake VS Code extension. Furthermore, CDT Cloud Blueprint provides sophisticated debugging support enabled by the Debug Adapter Protocol (DAP) and the Eclipse CDT GDB DAP adapter.

Memory debugging and tracing

Memory debugging and tracing

For memory debugging, CDT Cloud Blueprint integrates the powerful memory inspector provided by Eclipse Theia. It allows you to display the current memory, view registers and compare memory from different regions or even different points in time. It even supports changing the memory on the fly while debugging. Furthermore, CDT Cloud Blueprint integrates the powerful web version of TraceCompass, the popular open source tool for analyzing traces.

Modern tech stack

Modern tech stack

CDT Cloud Blueprint is built on a modern technology stack. The UI is implemented using HTML, CSS and JavaScript/TypeScript. The backend is based on Node.JS integrating other technologies such as a language server for C/C++. The underlying tool platform is Eclipse Theia providing the perfect base for extending and adapting the blueprint to your own domain-specific use case.

Flexible and extensible

Flexible and extensible

CDT Cloud Blueprint provides two extension mechanisms for maximum flexibility. First, CDT Cloud Blueprint supports VS Code extensions, e.g. to be installed from the openVSX marketplace. Therefore you can easily extend CDT Cloud Blueprint with additional features from the huge ecosystem. Second, by using Theia extensions, you can extend, adapt or even replace almost every aspect of CDT Cloud Blueprint. Therefore, you can fully customize the blueprint to your specific and domain-specific needs and create a fully custom and white-label tool.

Fully Open Source

Fully Open Source

CDT Cloud Blueprint consists entirely of open source components. Even more, all components are released under licenses that are friendly to commercial use (mostly EPL and MIT). Therefore, you can adopt CDT Cloud Blueprint to build your own tool and provide it to your customers with a commercial license. Last but not least most components of CDT Cloud (e.g. Theia itself) are backed by the strong support of companies in the Eclipse Cloud Dev Tools Working Group.