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

时间:2013-09-16 11:38:21

标签: netbeans code-templates

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

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

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

2 个答案:

答案 0 :(得分: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);

我已将其与缩写log相关联。

所以在光标处:

...
public class MyClass {
    |
...

我输入log + TAB ,NetBeans扩展了文字:

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

我也有:

  • 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);

生成:

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

答案 1 :(得分:1)

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