有没有办法在JShell中删除导入?

时间:2017-10-18 11:06:02

标签: java-9 jshell

我发现了JShell,我发现默认添加了导入:

jshell> /imports
|    import java.io.*
|    import java.math.*
|    import java.net.*
|    import java.nio.file.*
|    import java.util.*
|    import java.util.concurrent.*
|    import java.util.function.*
|    import java.util.prefs.*
|    import java.util.regex.*
|    import java.util.stream.*

在执行此操作后,我使用以下命令添加了我自己的导入:

import java.lang.Math

有没有办法在不杀死活动会话/重新启动的情况下删除后一个导入?

我已尝试发出/edit命令,删除导入,点击接受并点击退出,但这并没有成功。

如评论中所述,/reset会删除导入,但它也会删除以前在会话中输入的任何内容。是否有一种特定的方法来删除import语句?

1 个答案:

答案 0 :(得分:4)

经过一番搜索,我设法find a solution。它是/list(要知道要删除哪一行)和/drop的组合。

/drop [name[ name...]|id[ id...]]
  

删除一个片段,使其无效。提供名称或ID   导入,类,方法或变量。对于多个片段,   使用空格分隔名称和ID。使用/list命令查看   代码段的ID。

jshell> import java.lang.Math

jshell> /list

   1 : import java.lang.Math;

jshell> /drop 1

jshell> /imports
|    import java.io.*
|    import java.math.*
|    import java.net.*
|    import java.nio.file.*
|    import java.util.*
|    import java.util.concurrent.*
|    import java.util.function.*
|    import java.util.prefs.*
|    import java.util.regex.*
|    import java.util.stream.*