- jshell 中的命令
如果在过程中有问题可以随时使用/help进行查询- /vars 列出所有的变量
- /methods 列出所有的方法
- /list 列出执行历史
- /list -start 列出所有的引用
- /list -all 列出引用及执行历史
- /exit 退出jhsell
- /save 保存到文件
- /open 打开文件
- /help 帮助
- jshell编辑
- 在jshell 中可以使用上下键进行历史指令的重现
- 搜索,在jshell 中按下
Ctrl+R
会出现:((reverse-i-search)`':
输入你想所有的代码,则可以获取到相关内容
Ctrl+A
跳转到行头Ctrl+E
跳转到行尾Meta+B
光标回退一个位置【Meta 在mac 下是Ctrl】Meta+F
光标前进一个位置Ctrl+K
删除光标后的字符Ctrl+W
删除光标前的单词,如果前面前面存在空格则到空格则停止Ctrl+Y
粘贴最近删除的内容Ctrl+S
正向搜索Ctrl+X (
开始定义宏Ctrl+X )
结束宏定义Ctrl+X e
执行宏
- 外部编辑
很多时候,纯shell编辑肯定是很难完成复杂的逻辑的,这个时候就需要使用外部编辑器。
/edit xxx
xxx代表你之前定义的方法、类。
也可以使用/set edit vim
来切换编辑器 - 外部编码
- Class Path
在使用jshell的时候可能你需要使用一些已有的依赖,这个时候可以设置Class Path
比如:jshell --class-path myOwnClassPath jshell> import my.cool.code.*
进入shell 后就可以使用import 来引入你需要的包
当然你可以使用命令在jshell中设置环境变量/env --class-path myOwnClassPath
- Module
JDK 9 中支持的模块能力也被jshell所支持。
同理可以在shell启动时引入:jshell --module-path myOwnModulePath --add-modules my.module
使用
/env
也能设置:jshell> /env | --add-modules my.module | --module-path myOwnModulePath | --class-path myOwnClassPath
如果需要了解更多的信息只想如下的命令:
jshell> /help context
- Class Path
- 反馈模式
- 设置提示模式
jshell> /set prompt normal
- 设置持久化
默认情况下如果重新进入jshell 之前的设置会恢复,也可以通过/reset
进行重置。
如果想要持久化设置,就需要使用-retain
参数 进行持久化。这样设置在重启之后也是有效的。 - 设置截断
在jshell中,一行的长度默认是80,当然也是可以设置的。
相关的命令为:jshell> /set truncation mine
- 设置格式
在jshell 中你可以定制反馈的格式。相关详细的设置方式请参考帮助文档:jshell> /help set format
- 设置提示模式
- 脚本
这里的脚本指 jshell 中的一些jshell的序列片段和一些jshell的指令。
jshell 预定义有三种,分别为: DEFAULT、PRINTING、JAVASE.- 启动脚本,进入shell 的时候执行 相关的命令为:
jshell> /set start mystartup.jsh jshell> /reset | Resetting state.
也可以通过在进入jshell 的时候添加参数,
--startup
指定:% jshell --startup mystartup.jsh
当需要同时设置多个,命令如下:
jshell --startup DEFAULT --startup PRINTING
- 创建一个被加载执行的脚本
你也可以把写的jshell脚本存入文件,通过jshell demo.jsh
来执行。
- 启动脚本,进入shell 的时候执行 相关的命令为: