Eclipse Theiaのデスクトップ版を使う

Posted by 雅楽斎 on Saturday, October 17, 2020

TOC

Cloud & Desktop IDE Platform

Theia - Cloud and Desktop IDE Platform

Eclipse Theiaという開発環境が1.0をリリースしたのは今年の4月。GitHubやGitLabのリポジトリに対してWebブラウザ上からデスクトップIDEに近い感覚で直接ファイルを編集できるクラウドIDEとしての注目度が上がっていました。

個人的には元々WebベースのIDEとしてEclipse Orionが成熟していくのかなと思っていたところ、別プロジェクトとしてEclipse Che(エディタはOrion)が始動し、Eclipse Cheがバージョンアップを重ねていく中でエディタ部分をTheiaに変更していたことを後から知り、独立したEclipse Theiaの1.0リリースでの注目も納得できるところではありました。

エディタとしてEclipse OrionとEclipse Theiaを比較した場合の特徴は、TheiaはVS Codeで使われているMonacoを使用していることから、使い勝手やUIは基本的にVS Codeに近いことが挙げられます。

クラウド版はGitPodでも利用可能。デスクトップ版は?

Eclipse TheiaはTypeFoxのサービスであるGitpodというサービスですぐに試すことができます。1クラウドIDEとしてすぐに試すことができますし、Dockerコンテナを立ててデプロイすることでネットワーク内/PC上でクラウドIDEとして使うこともできます。

Gitpod: Always ready-to-code.

Gitpod is a platform for automated and standardized development environments. Available self-hosted in 3 minutes, or run locally on your laptop.

ではデスクトップ版は?というと、インストーラーが配布されていて、現時点で最新の1.6.0では以下のプラットフォーム用のバイナリがダウンロード可能です。

  • Linux(AppImage/deb)
  • macOS(pkg)
  • Windows(exe)

Project download area | The Eclipse Foundation

Electron版の使い勝手

同じMonacoを使った統合開発環境としてはVisual Studio CodeやMicrosoftの商標を削除してビルドしたVSCodiumとの比較がわかりやすいと思います。

Visual Studio CodeからMicrosoftの商標を削除したVSCodiumをUbuntuにインストール

なお、バイナリをダウンロードできることに気付かずにGitHubからソースをcloneしてビルドしたものの画面を使っているので、タイトルバーの文字列が異なったりしています。

起動画面

起動画面はWelcome Pageでないことを除けば以下の点がVSCodiumと異なります。

  • 左側のアイコンがRunではなくDebugになっている、メニューのRunがDebugになっている
  • Extensionのアイコンが違う(昔のCodiumはこれだった気がします)
  • Fileメニューの右がSample Menuになっている(これはソースからビルドした場合のみ)
  • 左下のアカウントアイコンがない
  • ステータスバーが青

拡張機能は割と揃っている

拡張機能のリポジトリはVSX Registryですが、一般的に使われるプログラミング言語の拡張機能は一通り揃っている印象を受けました。

Remote DevelopmentプラグインはVSX Registryに存在しない

なお、Visual Studio Codeでは使えるけれどもVSCodiumでは使えないRemote Developmentプラグインはありません。

Docker Desktop for WindowsがWindows10 Homeに対応したので動作確認

英語以外に言語設定を変更できない

日常的に使っていく上ではこれが一番ネックになるのかなと思いますが、現時点ではTheiaの言語設定は英語固定のようです。もちろん日本語の書かれたファイルや日本語の入力は問題ありませんが、メニューの言語を変えられないので、英語のままでも困らない人向けということになると思います。

各言語向けの拡張機能はありますが…

言語設定を変更する項目がありません。locale.jsonファイル自体がどこにもないので、現時点ではできないんだろうなぁと推測しています。

Internationalization · Issue #180 · eclipse-theia/theia

User facing strings shall be able to be translated Add support for internationalization in Theia, and translate strings used in the UI in at least one other language as an example. Two potential ca...

issue自体はありますが、ステータスも不明です。

少し触ってみたところの使い勝手はこんなところですね。言語を変えられないのを我慢できれば、クラウドIDEとしてのTheiaと同じ使い勝手で使えるデスクトップIDEとしての候補に入る、というところでしょうか。

Eclipse TheiaのElectron版のセルフビルド

ダウンロードできるバイナリがあることに気付かずにGitHubからcloneしてビルドしてしまったので、その手順を記載します。作業PCはUbuntu MATE 20.04(amd64)です。

必要なパッケージのインストール

build-essentialで全て入る気もしていますが念の為以下のコマンドを実行します。

# apt-get install build-essential make gcc pkg-config

nodeのnative-keymap拡張の依存ライブラリをインストールします。

# apt-get install libx11-dev libxkbfile-dev

Node.js(12)のインストール(snap)

12.14.1以降13未満でないといけないそうなので、snapで用意されているNode.jsをインストールします。現在はデフォルトのchannelが12を指していますが、最新のstableは14でいつ変わるかわからないので予め12を指してしまいます。

直接インストールする場合(強制的に更新がかかる)

# snap install node --channel=12/stable --classic

一旦ダウンロードしてからインストールする場合

$ snap download node --channel=12
# snap ack ~hogehoge/node_3168.assert
# snap install ~hogehoge/node_3168.snap --classic

確認します。

$ node --version
v12.19.0

yarnのインストール

apt-lineを追加してパッケージをインストールします。

# curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
# echo "deb https://dl.yarnpkg.com/debian/ stable main" |  tee /etc/apt/sources.list.d/yarn.list
deb https://dl.yarnpkg.com/debian/ stable main
# apt-get update
# apt-cache policy yarn | head
yarn:
  インストールされているバージョン: (なし)
  候補:               1.22.5-1
  バージョンテーブル:
     1.22.5-1 500
        500 https://dl.yarnpkg.com/debian stable/main amd64 Packages
        500 https://dl.yarnpkg.com/debian stable/main i386 Packages
        500 https://dl.yarnpkg.com/debian stable/main all Packages
     1.22.4-1 500
        500 https://dl.yarnpkg.com/debian stable/main amd64 Packages
# apt-get install --no-install-recommends yarn

確認します。

$ yarn --version
1.22.5

GitHubからclone、ビルド

$ mkdir theia
$ cd theia/
$ git clone https://github.com/eclipse-theia/theia
$ cd theia/
$ yarn #時間かかる
$ yarn run rebuild:electron

起動

上のyarnコマンドを実行した場所で以下のコマンドを実行します。

$ yarn run start

スポンサーリンク


  1. GitHub/GitLab/BitBucketでログインすると公開リポジトリは時間制限付きで無料で編集可能、非公開リポジトリは有料です [return]

comments powered by Disqus