• This repository has been archived on 05/Oct/2022
  • Stars
    star
    1,043
  • Rank 44,174 (Top 0.9 %)
  • Language
    Dockerfile
  • License
    Apache License 2.0
  • Created almost 7 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Theia applications examples - docker images, desktop apps, packagings

Eclipse Theia Applications - Docker & Electron

Build Status PRs Welcome Questions

Collection of example cloud & desktop applications built using the Theia platform.



Note: This repository is considered deprecated. Theia Blueprint and CDT.cloud Blueprint are more polished example applications based on the Eclipse Theia framework, that might be of interest. For more details, see issue #496.


Outline


Overview

This repository contains a collection of Theia-based IDE applications (both electron desktop apps and docker images) as examples, for demo and continuous-integration purposes.

Docker Image Variants

docker logo

Image Name Description Documentation
theiaide/theia Theia-based JavaScript/TypeScript (Web Technologies) example application

Other Variants:

Image Name Description Documentation
theiaide/theia-cpp Theia-based C/C++ example application docs
theiaide/theia-dart Theia-based Dart example application
theiaide/theia-full Theia-based example application with support for multiple languages
theiaide/theia-go Theia-based Go example application docs
theiaide/theia-python Theia-based Python example application docs
theiaide/theia-php Theia-based PHP example application docs
theiaide/theia-rust Theia-based Rust example application docs
theiaide/theia-swift Theia-based Swift example application


Additional Docker Examples

Image Name Description Documentation
theia-deb-build-docker Example on how to package the IDE into a Debian package docs
theia-https-docker Example on how to add security layer over existing images docs
theia-openshift-docker Example image for OpenShift
theia-rpm-build-docker Example on how to package the IDE into an RPM (for RHEL/CentOS) docs

How to use theiaide/theia image?

Theia is actively being developed. It is recommended to use theiaide/theia:latest if you want the latest stable release of Theia or theiaide/theia:next if you want the most recent version of Theia at the time the image was built (bleeding edge).

The following pulls the image and runs Theia IDE on http://localhost:3000 with the current directory as a workspace. The option of --init is added to fix the defunct process problem.

# Linux, macOS, or PowerShell
docker run -it --init -p 3000:3000 -v "$(pwd):/home/project:cached" theiaide/theia:next

# Windows (cmd.exe)
docker run -it --init -p 3000:3000 -v "%cd%:/home/project:cached" theiaide/theia:next

You can pass additional arguments to Theia after the image name, for example to enable debugging:

# Linux, macOS, or PowerShell
docker run -it --init -p 3000:3000 --expose 9229 -p 9229:9229 -v "$(pwd):/home/project:cached" theiaide/theia:next --inspect=0.0.0.0:9229

# Windows (cmd.exe)
docker run -it --init -p 3000:3000 --expose 9229 -p 9229:9229 -v "%cd%:/home/project:cached" theiaide/theia:next --inspect=0.0.0.0:9229

Electron Apps

The repository contains example Electron applications which are packaged using electron-builder. Following the steps provided in their respective README, it is possible to build and package the applications for Desktop use.

electron logo

Application Name Description Documentation
theia-cpp-electron Theia-based C/C++ desktop IDE docs
theia-electron Theia-based JavaScript/TypeScript (Web Technologies) desktop IDE docs


VS Code Extensions

Many applications in the repository now include support for running VS Code extensions, and an integration to the public instance of open-vsx registry, an open alternative to the Visual Studio Marketplace. The Extensions view can be opened through the Views top-level menu when starting the application.

Tips & Tricks

  • Build Options:

    • --init injects an instance of tini in the container, that will wait-for and reap terminated processes, to avoid leaking PIDs.
    • --security-opt seccomp=unconfined enables running without the default seccomp profile for debugging. This option is also required if the swift REPL is needed.

Contributing

Contributing

License

Apache 2.0

More Repositories

1

sprotty

A next-gen web-based graphics framework
TypeScript
138
star
2

yangster-electron

Bundled Yangster electron application
118
star
3

racket-language-server

Racket Language Server
Racket
46
star
4

yangster

Yangster is a YANG IDE based on Theia
TypeScript
42
star
5

theia-xtext

A Theia Application with DSL support through an Xtext Language Server
TypeScript
29
star
6

theia-trace-extension

Theia trace viewer extension using the tsp-typescript-client (https://github.com/theia-ide/tsp-typescript-client) and Trace Server Protocol (https://github.com/theia-ide/trace-server-protocol).
TypeScript
27
star
7

theia-extension-example

The example of how to build the Theia-based app with the custom markdown extension.
TypeScript
24
star
8

theia-sprotty-example

An example application integrating Sprotty views with Theia
TypeScript
18
star
9

timeline-chart

A timeline / gantt chart library for large data (e.g. traces)
TypeScript
18
star
10

trace-server-protocol

Specification of the Trace Server Protocol
Python
17
star
11

theia-go-extension

Theia Go Extension
TypeScript
15
star
12

extension-registry

An open-source registry for VS Code extensions
TypeScript
11
star
13

theia-rust-extension

A Theia extension to support the Rust programming language
TypeScript
10
star
14

theia-php-extension

PHP Extension for Theia IDE
TypeScript
9
star
15

tsp-typescript-client

Client-side implementation, in typescript, of the Trace Server Protocol (https://github.com/theia-ide/trace-server-protocol).
TypeScript
9
star
16

theia-plantuml-extension

PlantUML Extension for Theia IDE
TypeScript
8
star
17

theia-xml-extension

XML extension for Theia
TypeScript
7
star
18

yang-eclipse

An Eclipse Plug-in for YANG
Xtend
6
star
19

tracing_codegen

An example language, using the traced code generation
Xtend
5
star
20

theia-csharp-extension

C# extension for Theia
TypeScript
5
star
21

tsp-python-client

Client-side implementation, in Python, of the Trace Server Protocol (TSP) (https://github.com/theia-ide/trace-server-protocol)
Python
5
star
22

theia-callhierarchy-extension

A Theia Extension Adding a Call Hierarchy View
TypeScript
5
star
23

theia-sprotty

Glue code for sprotty diagrams in Theia
TypeScript
5
star
24

theia-vscodecov

Test VS Code API coverage against Theia for any VS Code extension
JavaScript
4
star
25

theia-racket-extension

A Theia extension to Support the Racket programming language
TypeScript
4
star
26

vscode-trace-extension

Trace viewer extension for Theia applications and vscode
TypeScript
3
star
27

theia-ruby-extension

Theia extension to support Ruby.
TypeScript
3
star
28

theia-docker-extension

Adds DockerFile language support to Theia
TypeScript
3
star
29

haskell-theia-extension

Theia extension for Haskell support
JavaScript
3
star
30

theia-timeline-extension

TypeScript
2
star
31

theia-json-extension

[DEPRECATED] Moved to theia-ide/theia
TypeScript
2
star
32

theia-asciidoc-extension

Asciidoctor extension for Theia
TypeScript
2
star