Features


Production Runtimes

Eclipse Che works with any Docker container, even Compose multi-container runtimes. Use an image from DockerHub, your own private registry or one of the many that ship with Che. Add agents for SSH, terminal and language services to dev-enable your production images. When stopped, Che workspaces can be snapshotted, saving their state between runs.

Under the hood:

  • Docker Runtimes
  • Compose Runtimes
  • Root Access Terminal
  • SSH Access
  • Pre-Built and Custom Stacks
  • Workspace Snapshots

Back to Top

“Dev Mode” your Workspace

Inject developer services into a workspace with agents for syntax auto-complete, error checking and a debugger. Add intellisense for additional languages with language server agents. Enable root-access terminal and SSH access with the flick of a switch.

Under the hood:

  • Language Servers
  • Intellisense and Refactoring
  • Debuggers
  • Workspace Agents
  • Intelligent Commands
  • Root Access Terminal
  • SSH Access

Back to Top

Use any IDE

Start working from any device without installing software by using the built-in Eclipse Che IDE. Or stick with the desktop IDE you love by mounting into the Che workspace. Your choice.

Under the hood:

  • Browser IDE
  • SSH Access
  • Mount-and-Sync Workspace
  • Electron Client
  • RESTful Workspace APIs

Back to Top

Team-Based Development

Create custom stacks - runtimes based on your production images, but with the tools your devs need. Anyone can quickly create a production-compliant app by building on a team stack, or duplicating a workspace. Sample code can even be added for training or to start people on the right foot.

Under the hood:

  • Runtime Stacks
  • Team Workspaces
  • Project Samples

Back to Top

Language Server Protocol

The Language Server Protocol was developed by Microsoft, Codenvy, Red Hat and IBM as a common protocol to provide language services including syntax analysis, outlining, and refactoring within the Eclipse Che, or the IDE or editor of their own choice. The protocol can be used between client tools and language servers to integrate features such as auto complete, goto definition, and find all references. Language server is a term being applied to the language intelligence programs that are providing the services.

Back to Top

Debuggers

Che can inject debugging agents into a developer workspace to allow variable watching and substitutions, breakpoints, step into / over and other common debug operations. Debuggers can be associated with stacks or individual workspaces.

Back to Top

SSH / Terminal

Che injects an SSH daemon into workspace machines. Connect your existing IDE - Eclipse if you like - with an SSH sync point. Upload your key pair or have Che generate a new pair for each workspace. You can also access your workspace with Che's browser terminal, giving you root access to workspace machines.

Back to Top

Stacks

A stack is a runtime configuration for a workspace. It contains a runtime recipe, meta information like tags, description, environment name, and security policies. Stacks are displayed within the user dashboard and stack tags are used to filter the project code samples that are available. A stack's recipe is either a Dockerfile or a Docker Compose file that will create a runtime to be embedded into the workspace. You can use any of Che's 30+ built-in stacks or author your own unique stack for your work.

Back to Top

RESTful Workspaces

All Che services are reachable through RESTful APIs. Che exposes APIs for managing the workspace master, and also provides RESTful access to each individual workplace through the workspace agent. The Che workspace master provides workspace orchestration and user management. In each workspace agent is a micro Che server that exposes project-specific APIs. For example, Che has RESTful JDT wrappers to enable 100+ forms of distributed Java intellisense. This Java-specific API is injected as a workspace agent by Che. Programming the API is simple - get started by browsing our APIs with Swagger.

Back to Top

Cloud IDE

A no-installation browser IDE and IOE accessible from any local or remote device. Thin, fast, and beautiful - it's the IDE our own engineers wanted. The IDE is packaged as cross-browser JavaScript and CSS, hosted as resources cached by browsers. Work on multiple workspaces in different browser tabs with each tab consuming ~100MB of RAM. It's a smoother interactive experience that doesn't suffer blockages from thrashing when the workspace is remote.

The tools you expect are there: embedded Orion editor, numerous key bindings, globalized keyboard support, and git / subversion tools including diff.

Back to Top

Multi-Project

Che is a true IDE platform, recognizing projects are bound to a repository and given a type. Project types bestow special behaviors, such as when Che injects the RESTful JDT core into workspace machines when Java projects are added. Workspaces can have multiple projects, each with their own type. Projects can be independently built and run, even though all projects share a common workspace machine. Currently, Che has limited project types for JavaScript, Maven, and ‘blank’. We'll collaborate with the ecosystem to package new types for frameworks, packaging systems and programming languages.

Back to Top

Commands

A command is a process that is injected into a machine. Commands are provided by users, workspaces, or projects. Commands have a type, like projects, which imbue additional behaviors. For example, the maven command type has inherent knowledge of how maven lifecycle phases operate. When executed, a command is translated into a process and injected into a machine, where it can operate against projects or other resources within the machine itself. Commands are context sensitive, allowing a user to execute commands across projects and modules, getting context-specific outcomes.

Back to Top

Previews

Create custom previews that launch files and web pages with the context of your projects and workspaces. Embed preview intelligence inside of commands and workspaces so that logic on how to launch and debug your project travels wherever your workspace goes.

Back to Top

Light Theme

Che, like Yoda, wants to bring balance to the force. Flip a switch and transform the IDE with a dark or light theme.

Back to Top

Plugins

Che is extensible, by customizing built-in plugins or authoring your own extensions. Package plugins with Che core to create new assemblies installable by your user base. You can write IDE, Che server, or workspace agent plugins, with Che injecting the plug-in into the right location at the right time.

Back to Top

Open Source to the Core

Eclipse Che has been developed over 4 years with contributions from Codenvy, eXo Platform, Red Hat, Salesforce, IBM, SAP, Microsoft, Intuit, WSO2, Serli, and open source individuals from China, Brazil, France, Ukraine, Russia, Canada, India, Sri Lanka, and the United States. It is part of the Eclipse Cloud Development top-level project, and ecosystem contributions are open and encouraged.

Please participate, even if only spiritually. There are many ways to get involved including starring the GitHub repo, submitting issues, writing docs, or contributing plug-ins.

Back to Top

Dogfooded With Love

We built the product that we would love to use everyday. To do that you must build what you eat and eat what you built. Love -- and sometimes frustration -- has poured into Che as our engineers weaned off their favorite IDEs to build Che with Che.

Back to Top

Was this page helpful? Share it on Twitter