如何在Netbeans中实现Eclipse的“System.out.println(ClassName::MethodName<这就是我的消息>)”?

2022-09-03 07:47:15

我想知道在 Netbeans 中是否有与 eclipse 相同的功能来自动生成和打印功能(它将打印名和方法名以便在控制台中进行调试)。System.out.println(ClassName::MethodName <then my message>)

例如,在 Eclipse 编辑器中,键入

系统 + Ctrl+ 空格

将在控制台中自动生成 System.out.println(ClassName::MethodName ) 类型的输出。

这种方法在 Netbeans 中是否可用?

截至目前,我在 Netbeans 中只有两种方法:

sout + Tab

(System.out.println()) 和

soutv + Tab

(System.out.println(打印行正上方使用的变量))) 自动执行。

让我改写一下,而不是myMethod1,我想得到封闭的方法名称。

例如。:

public class X {

  public void myMethod1(int a) {
    System.out.println(X::myMethod1()); // This should be produced when I type the Code-Template abbreviation (example: syst) and press tab (or corresponding key).
  }
}

public class Y {

  public void myMethod2(int b) {
    System.out.println(Y::myMethod2()); // This should be produced when I type the Code-Template abbreviation (example: syst) and press tab (or corresponding key).
  } 
}  

更新:

使用以下代码模板:

syst = System.out.println(“${classVar editable=”false“ currClassName default=”getClass()“}”);

我能够打印类名,但仍然没有方法名称的线索。


答案 1

您可以使用 来实现这一点。Logger

Apache log4j是一个基于Java的日志记录实用程序。

使用或其他记录器实现将为您提供信息和每个商业应用程序的使用比使用log4jclassmethodloggerSystem.out.

记录器还能够定义记录消息的不同级别的重要性,并能够对输出使用不同的接收器 - 控制台,文件等。

此外,在使用记录器时,仅启用或禁用某些类型的消息也很容易 - 例如,您不希望在生产中看到每个调试消息。

如果您的应用程序正在使用 ,则可以使用 Log4j 和 AOP 来实现此目的。spring framework

Setting the log level

您可以设置 5 个日志级别:

`FATAL` — logs only fatal errors

`ERROR` — logs all errors

`WARN` — logs warnings, and all errors

`INFO` — logs information, warnings, and all errors

`DEBUG` — logs debug information, and all other levels

示例文件log4j.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
<log4j:configuration>
 <appender name="stdout" class="org.apache.log4j.ConsoleAppender">
   <layout class="org.apache.log4j.PatternLayout">
     <param name="ConversionPattern" value="%d{ABSOLUTE} 
      %5p %c{1}:%L - %m%n"/> 
    </layout>
     </appender>
       <root>
      <priority value="debug"></priority>
      <appender-ref ref="stdout"/>
    </root>
</log4j:configuration>

在此配置文件中,您可以选择要存储的内容。

喜欢意味着它将存储.与其他人类似,您必须阅读它以获得不同的用法 。好的部分是您可以根据需要进行定制。%mmethod name


答案 2

目前,经过一些测试,我认为没有办法在netbeans中实现相同的功能。也许你可以坚持使用日食,因为它在过去似乎对你来说效果很好。

如果您真的想在 NetBeans 中完成此操作(我仍然更喜欢(并推荐)eclipse),我建议您看一下这个插件,并可能对其进行编辑以添加您正在寻找的 SystemTrace 功能。


推荐