The following pages and posts are tagged with

TitleExcerpt
IDE UI: Actions Actions allow you to add custom behavior to the Che IDE. They can be placed in menus, toolbars or context menus. An Action is a Java class, which implements the behavior to be executed. Additionally, it defines a text to be shown, a tooltip and an icon. In...
Build Requirements Build Command mvn clean install Execute this command in the root of your custom assembly or Che repo. To make your build faster, you may use the following arguments: -Dskip-enforce -DskipTests -Dskip-validate-sources -Dfindbugs.skip -DskipIntegrationTests=true -Dmdep.analyze.skip=true
Develop Your First Plugin Usign Che Before you dive into information on how you can extend Che framework and build your own Che assembly, let’s install and debug your first Che plugin using Che itself. Run Eclipse Che Installing it on Docker:...
Installers Now that you have made yourself familiar with Installer concept and usage, let’s take a closer look at implementing custom ones. Let’s take a closer look of a custom installer named Curl: The installer can be split into description in json...
DAO Data access object (DAO) is an object that provides an interface of persisting objects of some domain in some storage. It provides an API of storing data objects into a database without exposing any details about which database is used or, in general, any specific details about an...
Databases Currently Supported Databases As of version 6.11, Eclipse Che currently supports following databases: H2 (version 1.4.196) PostgreSQL (version 9.6) H2 database is used by default in Single-User Che, whereas postgresql is...
DTO :page-layout: _auto A data transfer object (DTO) is an object to exchange data with the client and server. DTOs are responsible for serializing (and deserializing) themselves into JSON. You can prepare custom DTOs for your extensions and plugins. You define a DTO interface and then our DTO utilities will generate...
IDE UI: Editor :page-layout: _auto
Eclipse Che Framework :page-layout: _auto
Dependency Injection :page-layout: _auto In this section, we briefly introduce the usage of dependency injection in Che, on the client and on the server side. If you are already familiar with Guice and Gin, you might want to skip this part. Che uses dependency injection to wire the different components, in order...
Handling Projects in Server and Client Side Plugins :page-layout: _auto [id="overview"] == Overview In Che there is a bunch of project operations that can be performed via REST, JSON-RPC or programmatically (on server side). Most valuable will be covered by this chapter. [id="project-import"] == Project import In is possible to import a project using several ways, Che supports...
IDE Extensions: GWT :page-layout: _auto [id="ide-extension-structure"] == IDE Extension Structure Let’s take a closer look at how an IDE extension should be structured: ---- ide ├─ src // sources folder │ └─ main │ ├─ java │ │ └─ org.eclipse.che.plugin.menu.ide │ │ ├─ ... │ │ ├─ inject │ │ │ └─ SampleMenuGinModule.java...
Communication: JSON-RPC :page-layout: _auto [id="overview"] == Overview In CHE we use http://www.jsonrpc.org/specification[JSON-RPC] for asynchronous communication between clients and servers. JSON-RPC is asymmetric by nature so in order to be able to information independently we use duplex approach where both sides (clients and servers) can act both as a JSON-RPC server and as...
Language Support :page-layout: _auto [id="overview"] == Overview The Language Server Protocol is used between a tool (the client) and a language intelligence provider (the server) to integrate features like auto complete, goto definition, find references, etc. You can learn more about the language server specification on the https://github.com/Microsoft/language-server-protocol[LSP GitHub page]. Currently Eclipse...
IDE UI: Parts :page-layout: _auto Parts represent the content of the Che workbench, i.e. views and editors within the IDE. Che already provides various parts such as the project explorer, the output console, the build result view, file outline and the code editor. In this part of the tutorial, we describe how to implement...
Project Types :page-layout: _auto Project types allow you to provide custom project behavior for a certain language. Additionally, they allow you to specify specific project templates, which can be instantiated and already contain language specific content. Further, they allow the user to specify language specific properties for a project, e.g. compiler settings or...
Properties in Extensions :page-layout: _auto [id="referencing-properties-in-extensions"] == Referencing Properties in Extensions You can reference properties in Che extensions that you author. Configuration parameters may be injected with a constructor or directly in the fields. The parameter of the field must be annotated with `@javax.inject.Named`. The value of the annotation is the name of...
Registry :page-layout: _auto
REST API :page-layout: _auto Eclipse Che server side components - both for master and workspace agents - are exposed as REST services which makes it easy to integrate Che in other platforms or use custom clients to create and run workspaces, import and update projects, update/delete workspaces and associated objects etc. You...
Server Side Extensions :page-layout: _auto TODO
IDE UI: Themes :page-layout: _auto
Workspace Agent :page-layout: _auto == Enabling debugging on Workspace Agent . Configure your WS Agent Tomcat JPDA launching parameters with the following Workspace environment variables: + `WSAGENT_DEBUG`:: Set to `true` to enable JPDA mode for Workspace Agent Tomcat. The default is `false`. `WSAGENT_DEBUG_PORT`:: Configure the JPDA port. The default is `4403`. `WSAGENT_DEBUG_SUSPEND`::...
Workspace Data Model :page-layout: _auto The following table lists the data types and their description. [width="100%",cols="50%,50%",options="header",] |=== |Data Types |Description |environments: Map |Workspace environment variables. A workspace can have multiple environment variables. |defaultEnv: STRING |A workspace must have a default environment. |projects: [] |Projects associated with a workspace. |commands: [] |Commands associated...
Workspace REST API :page-layout: _auto