LoginSignup
7
6

More than 5 years have passed since last update.

Eclipse Orion 9.0 環境構築〜プラグイン開発・導入

Last updated at Posted at 2015-09-11

はじめに

Eclipse Orionは、Eclipse Foundationが開発するWebベースの統合開発環境(IDE)です。
Orionサーバをダウンロードし、ローカル環境で運用することもできます。
現在はHTML, CSS, JavaScriptなど、一部の言語の開発にしか対応していませんが、
プラグインを開発・導入することで他の言語にも対応可能です。
このようにOrionは大変便利なのですが、開発者向けの日本語ドキュメントがまだ少なく、とっつきにくい印象があります。
以上のことから、調べたことを(半分メモ書きとして)書き残します。

Orionサーバ 環境構築

こちらのサイトから最新版をダウンロードします。

記事編集時(2015/09/11)の最新バージョンは9.0です。
解凍したら適当なディレクトリに配置します。
サーバの待ち受けポートはorion.iniで設定できます(デフォルトでは8080)

orion.ini
-Dorg.eclipse.equinox.http.jetty.http.port=8080

次に、サーバ設定ファイル(orion.conf)をorion.iniと同じディレクトリに配置します。
orion.confのテンプレートはGitHubにあります(https://github.com/eclipse/orion.client/blob/master/bundles/org.eclipse.orion.client.core/web-ide.conf)
設定項目については今回は割愛。何も書き換えなくても問題ないです。

Orionのディレクトリにあるorion.exe(Windows), orion(Linux)などを起動し、
ブラウザからhttp://localhost:8080/ にアクセス、ページが表示できることを確認します。
右上のRegisterリンクから新規アカウントを作成し、ログインできれば成功です。

プラグインの開発・導入手順

大まかな流れは次のとおりです。

  1. JavaScriptでプラグインを記述する
  2. それを読み込んだHTMLファイルをWebサーバなどに配置する
  3. ブラウザからOrionのページを開き、設定(歯車マーク)→PLUGINSのInstallをクリック。先ほどの作成したHTMLのURLを入力してSubmit
  4. 何の問題もなければプラグインが追加されます

Webサーバを立てるのが面倒という人はGitHub Pagesでも。

本記事では1について詳しく説明します。

Orionプラグインの開発

JavaScriptライブラリの入手

事前準備として、[orionのディレクトリ]/org.eclipse.client.core_***.jarを展開し、中にあるweb/orionディレクトリの中身をどこかに保存してください。
これがOrionプラグイン用のJavaScriptライブラリになります。
最低限必要なplugin.jsの他にも、非同期処理のためのDeferred.jsや正規表現関係をまとめたregex.jsなどがあります。

プラグインのソースコード

サンプルとして、エディタ上でCtrl-Shift-eを押すと、文字列"Hello, Orion!"を入力するプラグインを作ってみます。

HelloOrion.html
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <title>Hello, Orion!</title>
    <script src="plugin.js"></script>
    <script>
        var headers = {
            name: "My Plugin",
            version: "1.0",
            description: "自作のプラグインたち"
        };
        var provider = new orion.PluginProvider(headers);

        var serviceImpl = {
            run: function(text) {
                return "Hello, Orion!";
            }
        };
        var serviceProperties = {
            name: "Hello Orion plugin",
            key: ["e", true, true]    // Ctrl-Shift-e
        };
        provider.registerService("orion.edit.command", serviceImpl, serviceProperties);
        provider.connect();
    </script>
</head>
<body></body>
</html>

Orionプラグインのコードは、およそ次のような構成をしています。

  1. プラグインに関する情報を設定したPluginProviderオブジェクトを生成する。各プラグインには1つ以上のサービス(提供する機能の最小単位)を登録できます
  2. サービス(今回の例では"Hello, Orion!"の出力)の実装部分とプロパティをJSON形式で記述する。利用可能な項目はサービスのタイプによって異なります。
  3. PluginProviderオブジェクトのregisterServiceメソッドを呼び出し、サービスを登録する。引数はサービスタイプ(string), 実装部分(JSON), プロパティ(JSON)
  4. 登録したいサービスの数だけregisterServiceメソッドを呼び出し、登録を行う
  5. 最後にPluginProviderオブジェクトのconnectメソッドを呼び出す

サービスタイプの一覧はここにあります(英語)

あとは前述の手順に従い、Orion上でプラグインを読みこめば完了です。

複数のサービスを登録する場合、RequireJSなどを利用すると良いかもしれません。

参考

Orion/Server admin guide - Eclipsepedia https://wiki.eclipse.org/Orion/Server_admin_guide
Orion/Documentation/Developer Guide/Simple plugin example - Eclipsepedia http://wiki.eclipse.org/Orion/How_Tos/Writing_a_plugin

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6