7

私の現在の仕事では、ドメイン固有言語のプログラマーにxTextエディターのサポート(コード補完、構文の強調表示のため)を提供したいと考えています。xTextで文法を書きました。

xTextエディターのサポートを提供するために、xTextプラグインがインストールされた完全なEclipse IDEをプログラマーに提供します(xText Webサイトで入手可能)。ただし、次の手動の手動手順を犠牲にしてxTextエディター機能を取得します(5分間のxTextチュートリアルで説明されています)。

  1. プログラマーは、[ファイル]->[新規]->[プロジェクト]->[xTextプロジェクト]に移動する必要があります
  2. プログラマーは、「helloworld」の例の文法を私の言語の文法に置き換える必要があります。
  3. RunAs->XtextArtifactsの生成に移動する必要があります。
  4. 最後に、エディターのサポートを受けるには、実行->Eclipseアプリケーションを実行する必要があります。したがって、彼らはdsl仕様を書くことができます。

私の質問は、これらのタスク(スクリプトやその他のもの)をワンクリックで(最小限の労力で)細分化できる方法はあるのでしょうか?

4

2 に答える 2

7

OK、あなたの質問を理解しているかどうかはよくわかりません。それで、あなたが尋ねていると思うことをもう一度述べて、それに答えます。誤解していたらすみません - 教えてください。

だから - 私はあなたが言っていると思います:

  1. あなたの言語の xtext 文法を開発しました
  2. xtext が言語用に生成したエディターをユーザーが使用できるようにしたい
  3. 現在、これを行う方法を知っている唯一の方法は、ユーザーが行ったことをエミュレートすることです (xtext をインストールし、新しいプロジェクトを作成し、文法をコピーし、ジェネレーターを実行し、ランタイム インスタンスを作成し、最後にファイルを作成します。 DSL)

ステップ 3 を修正したいと考えています。そのため、ユーザーは新しいプロジェクトを作成し、DSL 拡張子を使用して新しいファイルを作成し、編集を開始できます。

それが正しければ、最も簡単なアプローチは次のとおりです。

  1. 選択File->Export...->Plug-in Development->Deployable Featuresして「次へ」をクリック
  2. 機能のリストで DSL プロジェクトを選択します ( <your.dsl>.sdk)
  3. 結果のリポジトリのディレクトリを選択し、Finish

Eclipse は、ターゲット ディレクトリにインストール可能な機能を生成します。次に、ユーザーがアクセスできる場所に公開して、ユーザーがリポジトリ dir を利用できるようにする必要があります。これはあなたのRepository URL.

次に、ユーザーは次のことを行う必要があります。

  1. 標準のEclipseディストリビューションをインストールします(モデリングツールが適しています)
  2. 選択するHelp->Install New Software
  3. クリックAddして新しいリポジトリを追加し、Repository URL
  4. リストから機能を選択してインストール

そこから、新しいプロジェクトとファイルを作成できます。DSL 拡張子を持つファイルを作成すると、xtext で生成されたエディターが自動的に読み込まれます。

日食製品を生成することで、彼らの仕事をさらに簡単にすることができます。そのためには、まず製品仕様書を作成してから、File->Export->Plugin Development->Eclipse Product. これにより、プラグインがプリインストールされたスタンドアロンの Eclipse IDE が作成されます。したがって、ユーザーはインストールしてすぐに使用できます。これについては、ここに良いチュートリアルがあります。

h番目。

于 2013-02-14T23:06:17.833 に答える
1

このような自動化を行うには、次の 3 つのオプションがあります。

1-またはなどの一般的なマクロ記録ソフトウェアを使用して、これらの手順を記録して再生できるようにします。このウィキペディアの記事でも同様のソフトウェアを見つけることができますAutoHotkeySikuli Script

2- Eclipse用のオープン ソース プラグインであるなどのEclipseマクロ プラグインを使用します。Practically Macro

3- などの自動化に必要なイベントを簡単に生成できる Java クラスを使用して、独自の実装を記述しますRobotkeyPressmousePressmouseMove

于 2013-02-14T23:13:53.750 に答える