2017-03-21 8 views
0

最近HackerRankで競合し始めました。今後のコンテストのコーディング環境を最適化するintellijプラグインを実装したいと思います。私の必要なのは簡単です:ソリューションがテストケースに失敗したときに、3つのカスタムファイルをプログラムで開きます(入力、予想、実際)。より良い状況についてはIntellijはカスタムプラグインを使ってプログラムでプログラムを開いてレイアウトします

ここで私が直面しています正確なシナリオです:

  1. を、私はできるだけ迅速に与えられた問題の解決策を書いて、私の提出を拒否された場合
  2. HackerRankプラットフォームに提出するには、私は "input"ディレクトリの下に何百ものランダムな小さなテストケースを生成します。
  3. 私は生成された各入力を解決し、生成された各テストケースの期待される出力を "expected"ディレクトリの下に保存するブルートフォースアルゴリズムを作成します。
  4. 私は、入力ファイルごとに私の効率的なソリューション(拒否された)を自動的に呼び出し、出力ファイルを "実際の"ディレクトリに書き込む、あらかじめ書き込まれた正解テストケースを実行します。任意の生成されたテストケースに対して、実際に期待通りに一致しない場合、テストは失敗します。

上記の問題は、テストが失敗するたびに手動で入力と期待値と実際の値を見つけて開く必要があり、次に垂直分割を使用するコードの横に並んでレイアウトする必要があることです。理想的には、私は、障害が検出されるたびに、プログラムで私の作成済みのテストケースからすべての3つのファイルを開くために取得し、それらをレイアウトされたスクリーンショットのように上記の必要があると思います

enter image description here

)以下を参照してください。 IntelliJはプログラムを使ってファイルを開くことができるのですか?

答えて

1

私は同様のものを作っています。 Diffウィンドウを開くためのハイパーリンクを追加したコンソールフィルター。コンソールからxml/jsonをファイルと比較していました。

https://github.com/krasa/ProjectCommandLauncher/blob/master/src/krasa/console/RequestComparatorFilter.java

3ウェイの差分を作ってそれをカスタマイズしやすいよう、あるいは代わりに、コンソールのハイパーリンクを使用するので自動的に開く必要があります。その後、

それとも、本当にエディタを開きたい場合は、IntelliJのコミュニティにOpenFileDescriptorの使い方を見つけて、次のプラグインに見て:https://github.com/dkandalov/tab-shifter

+0

タブシフターは完璧に見える、それを試してみます...考え直した後が、私は実際にプラグインが必要ないと思う。私は基本的には3つの追加のコンソールとして扱われる3つの定義済みのデバッグファイルにすべての失敗したケースの詳細を投げることによって、私が完全に記述したものを達成することができます。私はそれらを開いて、最初から適切に配置させます。ありがとうが:)間違いなくタブシフターに行くだろう。 – ALTN

関連する問題