-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.json
More file actions
1 lines (1 loc) · 11.6 KB
/
Copy pathindex.json
File metadata and controls
1 lines (1 loc) · 11.6 KB
1
[{"categories":null,"contents":"Why do I need CDT Cloud? CDT Cloud provides business-friendly open source software components for building custom web-based C/C++ development tools, running in the cloud or on the desktop. Such custom development tools make it easy for your users to work with specific devices, toolchains, or libraries, etc. With a custom tool that is optimized for a specific purpose, you can achieve a great developer experience for your users by including, for instance, \u0026hellip;\n wizards for creating projects and and custom editors for specific configuration artifacts example projects to get users up and running quickly excellent language editing support for C/C++ and other languages without manual user configuration easy-to-use debug configurations or other analysis capabilities, such as memory inspectors or trace viewers, and much more. How does CDT Cloud help? Custom C/C++ development tools have several reoccuring capabilities, such as creating projects, editing source code, building projects, debugging and tracing applications, etc. While they may differ from one specific tool use case to another, the base components can still be reused and adapted to the specifics of an environment. This makes building such tools significantly more efficient. And that\u0026rsquo;s precisely where CDT Cloud is here to help: it provides a feature-rich ecosystem of reusable platforms and components that can be customized for your environment and bundled into a ready-to-use tool product for your use case.\nHow do I get started? In most cases, a great starting point is to select a development tool platform for your custom tool. A development tool platform, such as Eclipse Theia or VS Code, provides the common capabilities of a code editing tool, such as a file explorer, code editor or git integration, which you may also need in your custom tool. For your custom tool, you can then augment this tool platform with extensions too add additional tool capabilities and customize it to your specific requirements. CDT Cloud also provides an example tool named CDT Cloud Blueprint, which may act as a template and a source of inspiration for your specific tool.\nFor more details on those steps, please refer to the table of contents to the left. If you need help to get started, contact us!\n","permalink":"https://www.eclipse.dev/cdt-cloud/documentation/overview/","tags":null,"title":"Overview"},{"categories":null,"contents":"For creating a specialized C/C++ tool or custom IDE, it is typically most efficient to build on an existing tool platform, which already provides generic tool features, such as a file explorer, editors with rich language-editing support, menus, user interfaces for process output or debugging, etc. To meet the specific requirements of your particular tool or IDE, you then extend and customize this generic platform with specific extensions.\nThe two most popular choices for a modern tool platform are VS Code and Eclipse Theia. VS Code is a code editor by Microsoft, which can be extended by using an extension API. Theia, on the other hand, is an extensible and very flexible, vendor neutral open-source IDE platform to develop full-fledged multi-language Cloud \u0026amp; Desktop IDE-like products. Theia not only supports VS Code extensions, but also provides an even more powerful extension mechanism that allows you to take control over every aspect of your tool.\nWhether to use one or the other for a specific tool project depends on various factors. In a nutshell, if you rather want to provide an extension to an existing code editor rather than creating an own product, VS Code may be a good choice for your project. If you want, however, to provide a white-labeled, tailored product for your customers or your own developers and you need to be able to take control over several aspects of your tool, you might be better served with Eclipse Theia.\nAs the decision on VS Code vs Eclipse Theia depends on the respective tool project, many of the CDT Cloud components are actually shipped as VS Code extensions. This way, they can be used either way, whether you use VS Code or Eclipse Theia.\nWith custom C/C++ development tools, however, you often need to have full control over every aspect of your custom tool, which makes Theia is a popular choice in this context. Thus, we point you to the right resources to get started with Theia below.\nGetting started with Theia To learn more about Theia, please visit the Theia webpage and browse through its getting started guide. This will give you a solid overview about Theia\u0026rsquo;s architecture and main concepts.\nFor your custom C/C++ tool, we recommend to start off from the CDT Cloud Blueprint and use it as a template. CDT Cloud Blueprint is a Theia-based application which already contains a collection of extensions and configurations that likely apply to your C/C++ tool use case. Thus, all documentation on Theia applies to CDT Cloud Blueprint as well, but it already adds components and best practices that typically are useful for C/C++ tools.\nTo learn more about composing Theia-based applications in general, please refer to the Theia documentation.\nExtending Theia applications Theia provides typical tool features out of the box, but can be extended and customized in virtually all aspects to eventually provide a streamlined tool offering for your specific purpose. Therefore, Theia provides two main extension mechanisms: VS Code extensions and Theia extensions.\nBy pulling in VS Code extensions, you can benefit from the vast ecosystem of tool capabilities available for VS Code. In the context of C/C++ tools, popular extensions include vscode-clangd for C/C++ language editing support, GDB debug adapters, CodeChecker, etc.\nTheia extensions, on the other hand, are more powerful than VS Code extensions and allow you to deeply customize all aspects of the tool platform, including the workbench structure, e.g. by adding a global toolbar, removing user interface components that you don\u0026rsquo;t need in your particular tool, adding wizards in the frontend and providing custom backend services.\nFor an overview, please read more about the Theia extension mechanisms and follow the guides on integrating VS Code extensions and developing Theia extensions.\nPackaging Theia applications When you want to package your custom tool as a desktop application, you\u0026rsquo;ll need to build your entire application for the operating systems you aim to support and likely want to integrate an update mechanism and add branding, such as application icons, etc. To learn more about dealing with those tasks, please consult the Theia packaging documentation. You can also check the CDT Cloud Blueprint for a concrete implementation.\n","permalink":"https://www.eclipse.dev/cdt-cloud/documentation/tool-platform/","tags":null,"title":"Dev tool platform"},{"categories":null,"contents":"CDT Cloud Blueprint is a template tool for building custom, web-based C/C++ tools. It is based on the Theia development tool platform and integrates several existing open source components to provide a starting point for building a custom C/C++ IDE. This includes C/C++ language features, debugging support, a memory inspector, and a tracing view.\nThe purpose of CDT Cloud Blueprint is two-fold:\n You can download and run it to try out several CDT Cloud components (see download page) You can use it as a template to start off your custom C/C++ tool (see instructions below) Building and running The sources including build instructions are available on the CDT Cloud Blueprint Github repository. Please follow the instructions on the Github readme to build and run CDT Cloud Blueprint as a desktop app, browser app, or in Docker.\nSelection of common VS Code extensions To provide common capabilities for developing C/C++ projects, CDT Cloud blueprint installs several open-source VS Code extensions that are typically useful in the context of C/C++ development. This includes the following and more.\n vscode-clangd: Integration of the C/C++ language server clangd vscode-cmake: Integration of commands and actions for interacting with CMake-based projects cdt-gdb-debug: Flexible and customizable debug adapter for GBD cdtcloud-clangd-contexts: Management of clangd configuration files in C/C++ projects using contexts For a complete list of the used Theia extensions and VS Code extensions, please refer to the application\u0026rsquo;s package.json.\nWelcome page To greet and guide users on initial start-up of CDT Cloud Blueprint, it provides a welcome page. The welcome page is essentially a web page in a Theia view that provides general information, but also links to relevant web resources. Users can also trigger commands directly from the welcome page, such as opening folders, settings, as well as creating example projects.\nThe welcome page is contributed to the product in the TheiaBlueprintGettingStartedContribution.\nExample project generator CDT Cloud Blueprint contains an example generator which allows users to create pre-defined projects based on a project template. Projects can either be generated from the welcome page or via the command Generate CDT Cloud Blueprint Example. Once a project is generated, a defined file \u0026ndash; such as a readme \u0026ndash; of this project is opened for the user. The generator is implemented by the Theia extension blueprint-example-generator.\nThe list of project types can be easily extended to add more project templates with the following steps:\n Add the project template to the folder resources Add the project template name to the list of projects in the command contribution Optionally specify the file to be opened after generation in the ExampleGeneratorServiceImpl ","permalink":"https://www.eclipse.dev/cdt-cloud/documentation/blueprint/","tags":null,"title":"CDT Cloud Blueprint"},{"categories":null,"contents":"Below is a list of articles on CDT Cloud:\n CDT Cloud – An overview about C/C++ tooling in the web CDT Cloud Blueprint: Getting started CDT Cloud Blueprint: Dynamic Toolbar CDT Cloud Blueprint: Coding CDT Cloud? C/C++ tooling in the web/cloud Also, we provide a list of talk recordings and videos on CDT Cloud:\n EclipseCon 2022: Building Specialized C/C++ Tools: Eclipse Theia and CDT Cloud in Action EclipseCon 2022: Introducing Eclipse CDT Cloud - C/C++ tooling in the web EclipseCon 2022: What\u0026rsquo;s cooking in the TraceCompass cloud project Cloud IDE Days 2022: Building Custom C/C++ Tools in the Web CDT cloud Overview: Elevator pitch CDT cloud Overview: Walkthrough Trace Compass Cloud: Several videos on Trace Compass Cloud 8.1 EclipseCon 2021: CDT Cloud? C/C++ tooling in the web TheiaCon 2021: Theia for C/C++ and embedded development ","permalink":"https://www.eclipse.dev/cdt-cloud/documentation/additionals/","tags":null,"title":"More Articles \u0026 Videos"},{"categories":null,"contents":null,"permalink":"https://www.eclipse.dev/cdt-cloud/categories/","tags":null,"title":"Categories"},{"categories":null,"contents":null,"permalink":"https://www.eclipse.dev/cdt-cloud/","tags":null,"title":"CDT Cloud Blueprint"},{"categories":null,"contents":null,"permalink":"https://www.eclipse.dev/cdt-cloud/contact/","tags":null,"title":"Contact"},{"categories":null,"contents":null,"permalink":"https://www.eclipse.dev/cdt-cloud/documentation/","tags":null,"title":"Documentation"},{"categories":null,"contents":"Support for CDT Cloud Blueprint and for projects adopting it and building custom C/C++ tools is provided by the community, by the contributors of CDT Cloud Blueprint and members of the Eclipse Cloud Development working group: ","permalink":"https://www.eclipse.dev/cdt-cloud/support/","tags":null,"title":"Support"},{"categories":null,"contents":null,"permalink":"https://www.eclipse.dev/cdt-cloud/tags/","tags":null,"title":"Tags"}]