idea 导入template_如何将静态导入添加到IntelliJ IDEA实时模板

本文介绍了如何将Eclipse的模板转换为IntelliJ IDEA的实时模板,特别是关于静态导入的部分。虽然无法直接在实时模板中添加静态导入,但可以通过设置“缩短FQ名称”和“尽可能使用静态导入”来实现类似效果。此外,还可以通过编辑文件和代码模板来全局引入静态导入。
摘要由CSDN通过智能技术生成

我需要将以下Eclipse模板移植到IntelliJ IDEA

/**

* See method name.

*/

@${testType:newType(org.junit.Test)}

public void should${testdesc}() {

// given ${cursor}

${staticImport:importStatic('org.hamcrest.Matchers.*', 'org.junit.Assert.*', 'org.mockito.BDDMockito.*')}

// when

// then

}

到目前为止我得到的是

/**

* See method name.

*/

@org.junit.Test

public void should$EXPR$() {

// given $END$

${staticImport:importStatic('org.hamcrest.Matchers.*', 'org.junit.Assert.*', 'org.mockito.BDDMockito.*')}

// when

// then

}

然后勾选Shorten FQ名称标志.

${staticImport:importStatic()}表达式的IDEA等价物是什么?

解决方法:

您不能只在实时模板中导入静态导入. (您可以使用文件模板,请参阅下文).但是你可以在模板中使用方法.您只需完全限定该类,然后选择“缩短FQ名称”和“尽可能使用静态导入”选项.例如,以下内容:

org.junit.Assert.assertEquals("$END$", $EXPECTED$, $ACTUAL$);

将导致:

import static org.junit.Assert.*;

. . .

assertEquals("my error message", myExpectedVar, myActualVar);

在被调用时. (我将$EXPECTED $和$ACTUAL $变量设置为variableOfType(“”),其中包含相应的预期和实际默认值)

如果您希望在所有单元测试中包含某些静态导入,那么我建议编辑“类”文件和代码模板.例如:

package ${PACKAGE_NAME};

#if ($NAME.endsWith("Test"))

import static org.junit.Assert.*;

import static org.hamcrest.Matchers.*;

import static org.mockito.BDDMockito.*;

#end

#parse("File Header.java")

public class ${NAME}

{

#if ($NAME.endsWith("Test"))

// Add any default test methods or such you want here.

#end

}

但请记住,如果您启用了“动态优化导入”选项(在IDE设置>编辑器>自动导入中),则会立即删除静态导入,除非您还包含方法(或其他代码)这使用静态导入.

标签:java,intellij-idea,live-templates

来源: https://codeday.me/bug/20190517/1120122.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值