Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java 9에서 JShell 기본 편집기를 변경하는 방법

JShell의 REPL과 기본 편집기

JShellREPL(Read-Evaluate-Print Loop)을 구현한 도구로, 명령줄(command-line)에서 코드를 읽어 들여 입력된 스니펫(snippet)을 평가하고 그 결과를 즉시 화면에 출력해 줍니다.

JShell에서는 기본 제공되는 JShell Editor Pad를 사용해 코드를 편집할 수 있습니다. 또한 "/set" 명령을 활용하면 기본 편집기를 다른 프로그램으로 변경할 수도 있습니다. 이렇게 설정해 둔 편집기는 "/edit" 명령을 실행할 때 사용됩니다. 편집기를 지정하는 방법은 간단합니다. 아래와 같이 "/set editor [편집기]" 형식의 명령을 입력하기만 하면 됩니다.

메모장(Notepad)을 기본 편집기로 설정하기

예를 들어 코드 편집용 기본 프로그램을 메모장(Notepad)으로 지정하고 싶다면 다음 명령을 입력합니다.

jshell> /set editor
|  /set editor -default

jshell> int i = 20
i ==> 20

jshell> double j = 30.0
j ==> 30.0

jshell> /set editor notepad.exe
|  Editor set to: notepad.exe

jshell> /edit

이후 명령 프롬프트에서 입력한 코드를 수정하고 싶을 때 "/edit" 명령을 실행하면, 아래 그림처럼 메모장이 자동으로 열리면서 코드를 편집할 수 있습니다.

Java 9에서 JShell 기본 편집기를 변경하는 방법


잘못된 편집기 경로 설정 시 주의사항

만약 존재하지 않는 프로그램이나 잘못된 경로를 편집기로 지정하면 어떻게 될까요? 이 경우 "/edit" 명령을 실행하는 시점에는 오류 메시지가 바로 표시되지 않습니다. 실제로 편집기를 열려고 시도하는 순간에만 아래와 같은 오류 메시지가 출력됩니다.

jshell> /set editor emacs
|   Editor set to: emacs

jshell> /set editor
|   /set editor emacs

jshell> /edit
|   Edit Error: process IO failure: Cannot run program "emacs": CreateProcess error=2,
    The system cannot find the file specified

따라서 편집기를 변경할 때는 해당 프로그램이 실제로 설치되어 있고, 실행 파일의 경로가 시스템 환경 변수(PATH)에 등록되어 있는지 반드시 확인하는 것이 좋습니다. 올바른 경로를 지정하면 JShell에서 더욱 편리하게 외부 에디터를 활용해 코드를 작성하고 수정할 수 있습니다.