智能类型完成覆盖实时模板快捷方式

时间:2013-02-14 00:44:26

标签: intellij-idea

在IntelliJ的早期版本中,我总是为JUnit测试方法设置自己的实时模板。像这样:

@Test
public void should$DO_WHAT_NOW$() {
    $END$
}

然后我会将其映射到关键字test,当我输入test + TAB时,它会扩展到模板中。这是一种享受。

但是,在v12中,IDE似乎更喜欢将tab扩展为类型。例如,我输入test + TAB,IDE将其更改为它可以找到的第一个模糊匹配类型。例如BusinessWidgetTest。我似乎无法为我的用户模板启用实时模板功能。

发生了什么变化?我做错了什么?

编辑:我已经启用了Java中的“适用”上下文,但它没有任何效果。我甚至将它作为测试“Everywhere”启用,但这也不起作用。

编辑:我将expand withDefault (tab)更改为Enter,然后就开始工作了。然后我将其改回Default (tab)并继续工作。也许这是一个错误。

1 个答案:

答案 0 :(得分:2)

我相信IDEA 12改变了你选择模板“适用于”的方式,默认情况下,它们似乎什么都不适用。在“模板文本”区域下,您应该看到“没有适用的上下文”。或“适用于< something>”。以及一个链接,可以让您选择模板应该应用的上下文(即文件或语言部分的种类)。如果这是您想要的,请确保选择“Java”或其中的某些部分。