在Intellij Idea中一次评估多个表达式

时间:2015-03-30 07:48:46

标签: java debugging intellij-idea

在Intellij Idea中,我正在寻找一种方法,可以使用一个命令在调试模式下评估多个表达式。

通常我可以使用Right Click → Evaluate Expression评估单个命令( ALT + F8 )。我想有可能评估一堆表达式,如:

System.out.println(myVar1);
System.out.println(myVar2);

在Eclipse中,可以执行这样的“表达式脚本”,但我无法在Idea中找到解决方案。

4 个答案:

答案 0 :(得分:6)

您必须在评估表达式对话框中单击“代码片段模式”( Alt + F8 ),您可以输入任意数量的行而不是单行 - 默认 - “表达模式”。

enter image description here

enter image description here

然后您可以使用“表情模式”按钮随时切换回来。

答案 1 :(得分:0)

您可以单击“表达式”框右侧的小全屏箭头按钮,或按shift + enter

  

如果要编辑多行代码片段或代码片段,请在“表达式”字段中单击“扩展”,或按⇧⏎切换到多行代码片段视图并返回。

https://www.jetbrains.com/help/idea/evaluating-expressions.html

答案 2 :(得分:0)

您可以在“评估”窗口中评估此类表达式

System.out.println(myVar1);
System.out.println(myVar2);

这里唯一的事情是您的整个结果(不是最后一个)不会出现在同一窗口中,而是会出现在控制台中。

答案 3 :(得分:0)

好吧,我也为此付出了很多努力,直到我发现在代码中它需要类的完全限定路径(对于java。*以外的类)

例如,在下面的这段代码中,我需要从文档对象中找出xml字符串表示形式(doc是我的文档对象)

所以我不得不将此代码放入评估选项卡中,您可以从运行窗口中打开-输入下面的表达式并单击评估后-我的xml字符串已打印在控制台中

    javax.xml.transform.TransformerFactory tf = javax.xml.transform.TransformerFactory.newInstance();
    javax.xml.transform.Transformer transformer = tf.newTransformer();
    java.io.StringWriter writer = new java.io.StringWriter();
    transformer.transform(new javax.xml.transform.dom.DOMSource(doc), new javax.xml.transform.stream.StreamResult(writer));
    System.out.println(writer.getBuffer().toString());