Skip to content

idea配置Live Templates位置 Idea配置Live Templates位置如上图

File and Code Templates

Includes

File Header

text
/**
* @description $description
* @author: 聂明智
* @date: ${DATE}-${TIME}
*/

Code

Junit5 Test Class

text
#set($SOURCE_NAME_INDEX= $NAME.length() - 4)
#set($SOURCE_CLASS_NAME = $NAME.substring(0,$SOURCE_NAME_INDEX))
#set($BEAN_NAME = $SOURCE_CLASS_NAME.substring(0,1).toLowerCase() + $SOURCE_CLASS_NAME.substring(1))
import lombok.extern.slf4j.Slf4j;

import static org.junit.jupiter.api.Assertions.*;

import org.mockito.Spy; 
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.junit.jupiter.MockitoExtension;

#parse("File Header.java")

@ExtendWith(MockitoExtension.class)
@Slf4j
class ${NAME} {

    @Spy
    ${SOURCE_CLASS_NAME} ${BEAN_NAME};
    
  ${BODY}
}

live templates

log

text
private static final Logger log = LoggerFactory.getLogger($CLASS_NAME$.class);

test

text
@Test
@SneakyThrows
@DisplayName("")
void $METHOD_NAME$() {
    $METHOD_BODY$
}

gwt

text
// given

// when

// then

sleep

text
try { TimeUnit.SECONDS.sleep($SECONDS$); } catch (InterruptedException e) { throw new RuntimeException(e); }

thread 新建一个线程:

text
new Thread(() -> {
        $threadBody$
    }, $threadName$).start();

@DNA

text
@Data
@NoArgsConstructor
@AllArgsConstructor

getEnum

public static Optional<$CLASS_NAME$> getEnumByCode(Integer code) {
    return Arrays.stream(values())
                .filter(e -> e.code.equals(code))
                .findFirst();
}

枚举类$CLASS_NAME$会失效获取不到ClassName需要自己配置

Released under the MIT License.