在 Eclipse 中突出显示 Spock 测试关键字

Highlighting Spock test keywords in Eclipse

我将 Eclipse 用于 Java 项目,其中一些测试是用 Groovy / Spock 编写的,它使用 given: when: then: 语法。我想用一些颜色突出显示这些关键字。注意:spock 插件应该这样做但不起作用。所以想自己做这个。

given:when:等是语句标签。 Groovy-Eclipse 目前不支持突出显示语句标签。它们实际上有点难以确定,因为它们没有与源位置信息一起保存在 AST 中。 org.codehaus.groovy.ast.stmt.Statement.getStatementLabels() returns List<String>。因此可以判断哪些语句有标签,但是需要扫描语句的源范围以找到标签的范围。

似乎 Groovy 中的标签没有任何支持。我做了一些搜索,但正如@emilles 所说,网上没有任何内容。

如果你有语法文件或者可以从某个地方得到它(我搜索后没有找到它),将它转换成 HRC 文件然后按照下面的步骤操作。看那里 (http://colorer.sourceforge.net/hrc-ref/index.html)

现在,您只需为您的语言创建颜色即可。有很多插件可以做到这一点,比如 EclipseColorer。我已经用过那个了,所以我给你步骤:

1 - Install the software (Help -> Install New Software)
2 - Search http://colorer.sf.net/eclipsecolorer/
3 - Once the plugin is installed and Eclipse is restart
4 - Copy the HRC file in the eclipse's folder
5 - Add the prototype file

基本的:

<?xml version="1.0" encoding='Windows-1251'?>
 <!DOCTYPE hrc PUBLIC
 "-//Cail Lomecb//DTD Colorer HRC take5//EN"
 "http://colorer.sf.net/2003/hrc.dtd"
 >
 <hrc version="take5" xmlns="http://colorer.sf.net/2003/hrc"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://colorer.sf.net/2003/hrc http://colorer.sf.net/2003/hrc.xsd"
 ><annotation><documentation>
 'auto' is a place for include
 to colorer your own HRCs
</documentation></annotation>
<prototype name="d" group="main" description="D">
 <location link="types/d.hrc"/>
 <filename>/.(d)$/i</filename>
 </prototype>
</hrc>


6 - In Eclipse Window -> Preferences -> General -> Editors -> File Associations
7 - Add the filetype for your syntax
8 - Restart Eclipse and your good

如果你没有这种文件会很长很困难,它是一种特定领域的语言,你必须从头开始。因此,唯一真正做到这一点的方法是根据您的需要创建新的着色语法,但实现起来非常棘手。

你有一些关于它的信息:http://www.mo-seph.com/projects/syntaxhighlighting