TopCoderのコーディング環境を快適にするプラグイン「moj」をインストールする

Number stamp
Creative Commons License photo credit: benleto

TopCoderのArenaでのコーディング環境を快適にするプラグイン「moj」のインストール方法をメモ。この記事を書くにあたって、以下のページを参考にさせていただきました。ありがとうございます!

「moj」プラグインでできること

「moj」プラグインでできることを簡単に紹介します。

  • スケルトンコードがローカル環境に自動的に生成されるようになる。
    • ArenaでSRMの問題を開くと、自動的にローカル環境にスケルトンコードを生成してくれるようになります。スケルトンコードを好きなエディタで開くと、実装する必要があるメソッドが既に定義されているので、あとは中の処理を追記するだけ。スケルトンコードを自分の好きなようにカスタマイズすることもできます。
  • ローカルでテストを簡単に行えるようになる。
    • 問題に記載されている全てのExampleを検証するテストコードがスケルトンコードに含まれているので、ソースコードをローカル環境で実行することで、簡単にコードの妥当性を検証することができます。(↓こんな感じ)

言語はC++, Javaに対応。TZTesterという既存のプラグインの修正版なので、細かい使い方に関しては「TZTester」で検索していただけるとすぐに見つかると思います。

インストール手順

さあ、いよいよ導入方法を紹介します。

ダウンロード

まず、以下のフォーラムの「Download moj」リンクから必要なファイルをダウンロードします。

moj_4.16.zip」というファイルがダウンロードされるので、ZIP展開してできたファイル全部を後から分かりやすい場所に保存しておきます。

Arenaの設定

次はArenaでの設定です。Arenaを起動し、メニューから「Options→Editor」を選択します。

「Editor Preferences」ウインドウが表示されるので、左下の「Add」ボタンをクリックします。すると「Enter Plugin Information」ウインドウが表示されるので、以下のように情報を入力します。

  • Name:
    • CodeProcessor
  • EntryPoint:
    • codeprocessor.EntryPoint
  • ClassPath:
    • 「Browse」ボタンをクリックし、ダウンロードしたファイルに含まれていた「codeprocessor.jar」「moj.jar」「fileedit.jar」を同時に選択。

Enter Plugin Information

入力できたら「OK」をクリック。「Editor Preferences」ウィンドウに新しい行が追加されるので、その行を選択した状態で「Configure」ボタンをクリックします。

Editor Preference

すると、「CodeProcessor Configuration」ウインドウが表示されるので、「Editor EntryPoint」の欄に「fileedit.EntryPoint」と入力し、その右側の「Configure」ボタンをクリックします。

「FileEdit Configuration」ウインドウが表示されるので、以下のように設定します。

  • General」タブ
    • 「Enter directory to read/write probrems to:」にスケルトンコードを出力するディレクトリのパスを指定する。
    • 「Backup existing file then overwrite」のチェックを外す。
  • Code Template」タブ
    • 「Language」から「C++」を選択し、スケルトンコードの内容をダウンロードしたファイルに含まれる「template.cpp」の内容に置き換える
    • 「Language」から「Java」を選択し、スケルトンコードの内容をダウンロードしたファイルに含まれる「template.java」の内容に置き換える

File Edit Configuration 1

FileEdit Configuration 2

設定できたら「Save」→「Close」の順にボタンをクリック。次に、「CodeProcessor Configuration」ウィンドウの「Add」ボタンをクリックし、「CodeProcessor Script」に挿入された空白行に「moj.moj」と入力します。

CodeProcessor Configuration

入力できたら念のため「Verify」ボタンをクリックし、以下のようなウィンドウが表示されれば設定完了。

Verify


全ての設定ウインドウにて「Save」→「Close」の順にボタンをクリックして、Arenaを一旦終了させます。

再度Arenaを開き、SRMの適当な問題を開いて、設定時に指定したディレクトリにスケルトンコードが出力されればインストール完了です!お疲れさまでした。

まとめ

最近、真剣にTopCoderに取り組み始めたのですが、まずは形からということで、快適なコーディング環境を構築することにも少しこだわってみました。

ちなみに僕は、生成されたスケルトンコードをEmacsで開いてコーディングしています。手に染み付いたキーバインドを使ってコーディングできるのはやっぱりいいですね。是非お試しあれ!
それでは!