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

如何在Netbeans代码模板中获取当前类名?,netbeans,code-templates,Netbeans,Code Templates,我想在Netbeans中为记录器编写代码模板: org.slf4j.LoggerFactory.getLogger(XXXXXX.class).warn("${cursor}"); 我在中找不到将当前类名插入模板的语法(请参见上面的XXXXXX占位符)。要获取当前类名,您需要在代码模板中使用它:${classVar editable=false currClassName default=getClass()}我创建了以下代码模板: private static final ${LOGGER_

我想在Netbeans中为记录器编写代码模板:

org.slf4j.LoggerFactory.getLogger(XXXXXX.class).warn("${cursor}");

我在中找不到将当前类名插入模板的语法(请参见上面的XXXXXX占位符)。

要获取当前类名,您需要在代码模板中使用它:
${classVar editable=false currClassName default=getClass()}
我创建了以下代码模板:

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);
我把它和缩写
log
联系起来

因此,在光标处:

...
public class MyClass {
    |
...
我键入
log
+选项卡,NetBeans展开文本:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
...
public class MyClass {
    private static final Logger LOGGER = LoggerFactory.getLogger(MyClass.class);
...
我还:

  • logd
    +选项卡
  • logw
    +选项卡
  • logi
    +选项卡
  • loge
    +选项卡
编码为:

${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);
这将产生:

LOGGER.debug("logMessage");
LOGGER.warn("logMessage");
LOGGER.info("logMessage");
LOGGER.error("logMessage", ex);