7

在我目前的工作中,我想为我的领域特定语言的程序员提供 xText 编辑器支持(因为它的代码完成、语法突出显示)。我在 xText 中写过语法。

为了提供 xText 编辑器支持,我将为程序员提供安装了 xText 插件的完整 eclipse IDE(可在 xText 网站上获得)。但是,我以以下手动手动步骤为代价获得了 xText 编辑器工具(如 5 分钟 xText 教程中所述)。

  1. 程序员必须去 File -> New -> Project -> xText Project
  2. 程序员必须用我的语言语法替换“hello world”示例语法。
  3. 他们必须去 RunAs -> Generate Xtext Artifacts。
  4. 最后,他们要做的是:运行 -> Eclipse Application 以获取编辑器支持。因此,他们可以编写 dsl 规范。

我的问题是,有什么方法可以通过单击来原子化(以最小的努力)这些任务(任何脚本或任何其他事情)?

4

2 回答 2

7

好的,我真的不确定我是否理解您的问题。所以我会重新陈述我认为你在问什么,然后回答。抱歉,如果我误解了 - 请告诉我。

所以 - 我想你是在说:

  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 将在目标目录中为您生成一个可安装的功能。然后,您需要通过在用户可以访问的地方发布来使存储库目录可供用户使用。这是你的Repository URL

然后,您的用户需要:

  1. 安装标准的 eclipse 发行版(适合的建模工具)
  2. 选择Help->Install New Software
  3. 单击Add以添加新存储库,然后输入您的Repository URL
  4. 在列表中选择您的功能并安装

他们可以从那里创建新的项目和文件。如果他们使用您的 DSL 扩展名创建文件,您的 xtext 生成的编辑器将自动加载。

您可以通过生成 eclipse 产品使他们的工作更加轻松。为此,您首先需要创建产品规范,然后使用File->Export->Plugin Development->Eclipse Product. 这将创建一个预安装插件的独立 Eclipse IDE。因此,您的用户只需安装即可使用。这里有一个很好的教程。

hth。

于 2013-02-14T23:06:17.833 回答
1

有三个选项可以为您执行此类自动化:

1- 使用通用的宏录制软件,如AutoHotkeyor Sikuli Script,这样您就可以录制这些步骤并回放它们。您也可以在此 Wikipedia 文章中找到类似的软件

2- 使用eclipse宏插件,例如Practically Macroeclipse 的开源插件

3- 使用 JavaRobot类编写您自己的实现,它可以简单地生成自动化所需的事件,例如keyPressmousePressmouseMove

于 2013-02-14T23:13:53.750 回答