JShell은 기존에 존재하는 클래스, 변수, 또는 메서드 이름을 일부만 입력한 상태에서 Tab 키를 누르면 자동 완성(auto-completion) 기능을 제공합니다. 입력한 내용만으로 항목을 특정할 수 없는 경우에는 가능한 옵션들을 보여줍니다.
Tab 키를 눌렀을 때 수행되는 작업
JShell에서 Tab 키를 누르면 다음 중 하나의 동작이 실행됩니다.
- 입력한 내용과 일치하는 다른 이름이 없을 경우, JShell이 나머지 이름을 자동으로 입력해 줍니다.
- 동일한 문자로 시작하는 이름이 여러 개 존재하는 경우, JShell은 해당 이름들의 목록을 표시하여 다음에 입력할 내용을 안내해 줍니다. 이후 다음 글자를 입력하고 다시 Tab 키를 누르면 이름을 완성할 수 있습니다.
- 입력한 내용과 일치하는 이름이 하나도 없는 경우, 피드백으로 경고음(alert sound)이 울립니다.
예제
C:\Users\User>jshell
| Welcome to JShell -- Version 9.0.4
| For an introduction type: /help intro
jshell> String studentName(String firstName, String lastName)
...> {
...> return firstName + lastName;
...> }
| created method studentName(String, String)
jshell> /methods
| String studentName(String, String)
jshell> str <Tab 키 입력>
studentName(
jshell> studentName(
studentName(
Signatures:
String studentName(String firstName, String lastName)
<문서를 보려면 Tab 키를 다시 누르세요>
jshell> studentName(
String studentName(String firstName, String lastName)
<no documentation found>
<가능한 모든 자동 완성 목록을 보려면 Tab 키를 다시 누르세요; 총 가능한 자동 완성: 545개>정리
JShell의 Tab 키 자동 완성 기능은 코드를 빠르게 작성할 수 있도록 도와주는 강력한 도구입니다. 메서드 시그니처 확인, 문서 조회, 그리고 사용 가능한 모든 완성 옵션 탐색까지 Tab 키를 반복해서 누르는 것만으로 가능하므로, Java REPL 환경에서 생산성을 크게 높일 수 있습니다.