java - 有没有办法删除 JShell 中的导入?

标签 java import 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

有没有办法在不终止 Activity session /重新启动的情况下删除后者导入?

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

如注释中所述,/reset 删除导入,但它也会删除先前在 session 中输入的任何其他内容。有没有一种特定的方法可以仅删除导入语句?

最佳答案

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

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

Drops a snippet, making it inactive. Provide either the name or the ID of an import, class, method, or variable. For more than one snippet, separate the names and IDs with a space. Use the /list command to see the IDs of code snippets.

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.*

关于java - 有没有办法删除 JShell 中的导入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46808748/

相关文章:

java - 以编程方式执行 Junit 测试套件

java - 泛型继承有什么问题

java - 当调试器完成应用程序时,如何使 Eclipse 自动跳回开发视角?

python - Python数据导入错误

date - 导入包含 ISO 8601 日期/时间值的文本文件 (2014-07-02T16 :09:49-07:00)

mysql - 问题 - 将 csv 文件导入 Mysql Workbench

java - 在 Java 9 中使用模块化编程的可选依赖项不适用于提供的模块路径

java - 当 ResultSet 关闭时 Statement 会发生什么?

java - JDK9 : An illegal reflective access operation has occurred. org.python.core.PySystemState

java - Oracle JDBC 驱动程序与 Java 9 java.lang.NoClassDefFoundError : Could not initialize class oracle. jdbc.OracleDriver