Eclipse Che - Short Review

Coding Tools



Introduction to Eclipse Che

Eclipse Che is a Kubernetes-native Integrated Development Environment (IDE) and developer collaboration platform, designed to streamline the development process and enhance team collaboration. As an open-source project, Eclipse Che aims to address several key challenges in software development, including project onboarding, environment consistency, and enterprise security.



Core Goals

  • Accelerate Project and Developer Onboarding: Eclipse Che provides a zero-install development environment that runs in the browser, making it easy for new team members to join and contribute to projects immediately.
  • Remove Inconsistency Between Developer Environments: By ensuring that the development environment is consistent across all team members, Eclipse Che eliminates the “but it works on my machine” issue, ensuring code works uniformly in every environment.
  • Provide Built-in Security and Enterprise Readiness: Eclipse Che is designed to be secure and supports enterprise requirements such as role-based access control and the ability to remove all source code from developer machines, making it a viable replacement for Virtual Desktop Infrastructure (VDI) solutions.


Key Features and Functionality



Centralized Developer Environment

Eclipse Che runs on Kubernetes or OpenShift, providing a centralized developer environment that can be easily defined, administered, and managed. Each developer gets a multi-container workspace that can be replicated with a single click using Eclipse Che factories.



Pre-built and Custom Stacks

Eclipse Che offers pre-built stacks for various languages and runtimes, with the flexibility to create custom stacks as needed. This ensures developers can work with their preferred tools and environments.



Enterprise Integration

The platform supports enterprise integration using OpenShift OAuth or Dex, enabling seamless authentication and authorization. It also integrates with state-of-the-art monitoring and tracing tools like Prometheus and Grafana.



Browser-based IDEs and Tool Integration

Eclipse Che supports browser-based IDEs, including integration with Microsoft Visual Studio Code, JetBrains IntelliJ IDEA Community Edition, and other IDEs. It also supports tools protocols such as the Language Server Protocol and Debug Adapter Protocol. Additionally, it has a plugin mechanism compatible with Visual Studio Code extensions.



Workspace Management

Each workspace is a Kubernetes or OpenShift Pod, allowing for the replication of application runtimes and microservices used in production. Workspaces include intelligent code completion and IDE tools, and their configurations can be persisted, migrated, and integrated into other instances of Eclipse Che.



Collaboration and Multi-tenancy

Eclipse Che is designed for multi-user and multi-tenancy environments, allowing hundreds of developers to collaborate on the same project without the need for local software installations. It supports collaborative workspaces where multiple users can develop the same application simultaneously.



Customization and Extensibility

Developers can customize their cloud development environments (CDEs) using Devfiles, which define the workspace configuration. When no Devfile is provided, Eclipse Che uses a default configuration. The platform also offers a software development kit (SDK) for creating custom cloud developer platforms and a plug-in framework for extending its functionality.



Additional Features

  • Workspace Agents: Provide services like SSH access, monitoring, and remote debugging.
  • Workspace Snapshots: Allow the state of a workspace to be persisted and restarted later.
  • Git Visualization: Files in the project explorer and editor tabs can be colored based on their Git status.
  • RESTful Workspaces: Communication between the browser IDE and the workspace manager is done via RESTful APIs.
  • Debugger: Supports navigating code threads, setting conditions, and suspending policies on breakpoints.

In summary, Eclipse Che is a robust and flexible development platform that addresses critical needs in software development, from consistent environments and streamlined onboarding to advanced collaboration and customization capabilities.

Scroll to Top