如何在Netbeans代码模板中获取当前的类名?

gav*_*koa 3 netbeans code-templates

我想在Netbeans中为logger编写代码模板:

org.slf4j.LoggerFactory.getLogger(XXXXXX.class).warn("${cursor}");
Run Code Online (Sandbox Code Playgroud)

我找不到语法插入当前类的名称为模板(请参阅XXXXXX上面占位符)的参考.

tar*_*ini 5

我创建了以下代码模板:

private static final ${LOGGER_TYPE type="org.slf4j.Logger" default="Logger" editable=false} LOGGER = ${LOGGER_FACTORY type="org.slf4j.LoggerFactory" default="LoggerFactory" editable=false}.getLogger(${CLASS editable="false" currClassName}.class);
Run Code Online (Sandbox Code Playgroud)

我把它与缩写相关联log.

所以在光标处:

...
public class MyClass {
    |
...
Run Code Online (Sandbox Code Playgroud)

我键入log+ TAB和NetBeans扩展文本:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
...
public class MyClass {
    private static final Logger LOGGER = LoggerFactory.getLogger(MyClass.class);
...
Run Code Online (Sandbox Code Playgroud)

我也有:

  • logd + TAB
  • logw + TAB
  • logi + TAB
  • loge + TAB

编码为:

${LOGGER_CONST default="LOGGER" editable=false}.debug("${logMessage}");
${LOGGER_CONST default="LOGGER" editable=false}.warn("${logMessage}");
${LOGGER_CONST default="LOGGER" editable=false}.info("${logMessage}");
${LOGGER_CONST default="LOGGER" editable=false}.error("${logMessage}", ex);
Run Code Online (Sandbox Code Playgroud)

产生:

LOGGER.debug("logMessage");
LOGGER.warn("logMessage");
LOGGER.info("logMessage");
LOGGER.error("logMessage", ex);
Run Code Online (Sandbox Code Playgroud)