在 IntelliJ IDEA 中,我正在寻找一种使用一个命令在调试模式下计算多个表达式的方法。
通常我可以使用
Right Click → Evaluate Expression
(ALT+F8) 来评估单个命令。我希望能够评估一堆表达式,例如:
System.out.println(myVar1);
System.out.println(myVar2);
在 Eclipse 中可以执行这样的“表达式脚本”,但我在 IntelliJ IDEA 中找不到解决方案。
您必须在计算表达式对话框中单击“代码片段模式”(Alt+F8),并且您可以输入任意多行,而不是单行 - 这是默认的 - “表达式模式”。
然后您可以随时使用“表达模式”按钮切换回来。
您可以单击表达式框右侧的小全屏箭头按钮,或按
shift
+enter
。
如果要编辑多行表达式或代码片段,请单击“表达式”字段中的“展开”或按 ⇧⏎ 切换到多行代码片段视图并返回。
https://www.jetbrains.com/help/idea/evaluating-expressions.html
您可以在评估窗口中评估此类表达式
System.out.println(myVar1);
System.out.println(myVar2);
这里唯一的事情是你的整个结果(不是最后一个)不会出现在同一个窗口中,而是出现在控制台中。
好吧,我也为此苦苦挣扎,直到我发现在代码中它需要类的完全限定路径(对于 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());