How to get JShell documentation in Java 9?

Java 9 introduced a new interactive tool called JShell. This tool can be used to execute expressions, classes, interfaces, enums, and etc.

The detailed documentation can be available in JShell with full information, as well as the use of its internal commands with the various options. This documentation can be accessed using two commands: "/help" and "/?". JShell's documentation is not only limited to information regarding its internal controls, and also includes Javadoc.

In the below code snippet, the result can be obtained by using the "/help" command.

jshell> /help
|   Type a Java language expression, statement, or declaration.
|   Or type one of the following commands:
|   /list [<name or id>|-all|-start]
|     list the source you have typed
|   /edit <name or id>
|     edit a source entry referenced by name or id
|   /drop <name or id>
|     delete a source entry referenced by name or id
|   /save [-all|-history|-start] <file>
|     Save snippet source to a file.
|   /open <file>
|     open a file as source input
|   /vars [<name or id>|-all|-start]
|     list the declared variables and their values
|   /methods [<name or id>|-all|-start]
|     list the declared methods and their signatures
|   /types [<names or id>|-all|-start]
|     list the declared types
|   /imports
|     list the imported items
|   /exit
|     exit jshell
|   /env [-class-path <path> ] [-module-path <path>] [-add-modules <modules>] ...
|     view or change the evaluation context
|   /reset [-class-path <path>] [-module-path <path>] [-add-modules <modules>]...
|     reset jshell
|   /reload [-restore] [-quiet] [-class-path <path>] [-module-path <path>]...
|     reset and replay relevant history -- current or previous (-restore)
|   /history
|     history of what you have typed
|   /help [<command>|<subject>]
|     get information about jshell
|   /set editor|start|feedback|mode|prompt|truncation|format ...
|     set jshell configuration information
|   /? [<command>|<subject> ]
|     get information about jshell
|   /!
|     re-run last snippet
|   /
|     re-run snippet by id
|   /-
|     re-run n-th previous snippet
|   For more information type '/help' followed by the name of a command or a subject.
|   For example '/help /list' or '/help intro'.
|   Subjects:
|   intro
|     an introduction to the jshell tool
|   shortcuts
|     a description of keystrokes for snippet and command completion,
|     information access, and automatic code generation
|   context
|     the evaluation context options for /env /reload and /reset

JShell prints different existing internal commands with a quick presentation of what they do, and access a more detailed explanation of its use. For that, we just have to enter the command: "/help" followed by the name of a command in detail (For instance, "/set" command ).

jshell> /help /set
|  /set
|   Set jshell configuration information, including:
|   the external editor to use, the start-up definitions to use, a new feedback mode,
|   the command prompt, the feedback mode to use, or the format of output.
|   /set editor [-wait] ...
|     Specify the command to launch for the /edit command.
|     The <command> is an operating system dependent string.
|   /set start <file>
|     The contents of the specified become the default start-up snippet s and commands.
|   /set feedback <mode>
|     Set the feedback mode describing displayed feedback for entered snippets and commands.
|   /set mode <mode>[<old-mode>] -command|-quiet|-delete
|     Create or update a user-defined feedback mode, optionally copying from an existing mode.
|   /set prompt <mode>"<prompt>" "<continuation-prompt>"
|     Set the displayed prompts for a given feedback mode.
|   /set truncation <mode> <length> <selector> ...
|     Set the maximum length of a displayed value.
|   /set format <mode> <field> "<format>" ...
|     Configure a feedback mode by setting the format of a field when the selector matches.
|   /set
|     Show editor, start, and feedback settings as /set commands.
|     To show the settings of any of the above, omit the set value.
|     To get more information about one of these forms, use /help with the form specified.
|  For example: /help /set format

We need to find the commands entered during this third part, whether to modify the return of JShell (/set feedback), to modify the default editor (/set editor), or to modify the start of JShell (/set start).

jshell> /help /set feedback
| Set the feedback mode describing displayed feedback for entered snippets and
| /set feedback [-retain] <mode>
| Retain the current feedback mode for future sessions:
| /set feedback -retain
| Show the feedback mode and list available modes:
| /set feedback
| Where <mode> is the name of a previously defined feedback mode.
| You may use just enough letters to make it unique.
| User-defined modes can be added, see '/help /set mode'
| When the -retain option is used, the setting will be used in this and future
| runs of the jshell tool.
| The form without <mode> or -retain displays the current feedback mode and available modes.

Updated on: 14-Apr-2020


Kickstart Your Career

Get certified by completing the course

Get Started