티스토리 뷰



 ※ 연관글 목록


jEdit는 자바(Java) 언어로 만들어진 프로그램입니다. Java 언어로 만들어진 프로그램은 일반적인 프로그램과 달리 특정 운영체제(Windows, Linux, Unix등등)에 맞는 기계어(Machine Language)로 만들어지지 않고 대신 Java 가상머신이 인식할 수 있는 중간코드로 만들어지기 때문에 Java로 만들어진 프로그램은 가상머신이 존재하는 곳이라면 어떤 장비에서도 프로그램을 실행할 수 있는 특성을 갖습니다. 실제로 JEdit 소스 코드는 약 12MB 정도인데 컴파일하면 약 3MB 정도의 코드로 만들어 집니다. Java 중간 코드를 활용한 플랫폼 호환성 확보는 윈도우 계열의 닷넷(.Net) 프레임워크와 비교할 수 있습니다. VB .Net 또는 C# .Net 언어로 만든 프로그램은 .Net 중간 코드로 만들어지고 .Net 가상머신에 의해 실행하는 구조입니다.


이번 포스팅은 jEdit 매크로등에서 사용하는 BeanShell과 매크로를 중심으로 jEdit 사용중 문제가 생겼을때 원인 파악이나 현상 확인에 도움을 주는 문제 해결 도구를 살펴볼까 합니다.


BeanShell과 매크로

우선 매크로>매크로 기록 메뉴를 선택하고 매크로 이름에 적절하게 스트링을 입력한 다음 편집창에서 몇가지 동작을 수행한 다음 매크로>매크로 기록 중지를 선택합니다. 그러면 아래의 그림과 같이 조금 전에 작업 했던 내용이 BeanShell 코드로 작성되어 나옵니다.





위의 그림에서 보는 것과 같은 코드가 BeanShell입니다. 문법은 Java이지만 사용 형태는 자바 스크립트나 리눅스/유닉스의 쉘(Shell) 처럼 별도의 컴파일 과정이 없는 인터프리터 방식으로 수행하기 때문에 "BeanShell"이라 이름 붙인 모양입니다. 자세한 소개는 http://www.beanshell.org/에서 확인할 수 있습니다. 아뭏든 BeanShell을 통해서 jEdit 편집창의 동작이나 메뉴 또는 단축키의 기능들을 보다 융통성 있게 활용할 수 있습니다. 


매크로 기록으로 생성하는 jEdit 매크로는 *.bsh라는 확장자로 "도구>jEdit 설정 디렉토리"로 빠르게 이동할 수 있는 디렉토리에 저장합니다. 매크로가 기록되는 있는 도중에는 아래의 그림과 같이 하단 상태창에 매크로 기록 상태임을 표시하므로 참고합니다.



위의 예제와 같이 별도의 매크로 파일에 저장하지 않고 임시로 사용할 매크로를 별도로 기록할 수 있는데 매크로>임시 매크로 기록 메뉴로 임시 매크로 기록을 시작하여 매크로>매크로 기록 중지로 임시 매크로를 만든 다음 매크로>임시 매크로 실행으로 활용할 수 있습니다. "다른 매크로 실행" 메뉴를 통해서 기 생성한 매크로를 선택하여 실행할 수 있으며 외부에서 매크로를 수정한 경우에는 "매크로 재정리" 메뉴를 통해서 매크로 정보를 다시 로드할 수 있습니다.


위에서 언급한 매크로 단위의 작업대신 간단하게 BeanShell 스크립트를 실행할 수도 있는데 도구>BeanShell 메뉴를 활용할 수 있습니다. "BeanShell 실행..." 메뉴를 선택하면 아래의 그림과 같은 창을 띄워서 BeanShell 스크립트를 실행할 수 있습니다. 창의 내용을 보면 미리 정해진 변수명을 활용해서 편집창이나 jEdit 뷰에 대한 직접적인 컨트롤이 가능함을 확인할 수 있습니다. 사용하고 싶은 기능은 매크로 기록을 통해 간편하게 확인할 수 있습니다.


"선택행에 BeanShell 실행..." 메뉴는  "BeanShell 실행..." 메뉴와 유사하지만 BeanShell 스크립트 실행의 적용 범위를 선택 행으로 한정한다는 차이점이 있습니다. "선택 스크립트 실행" 메뉴는 매크로 파일과 같이 편집창에 BeanShell 스크립트가 있는 경우 범위를 선택하여 해당 코드들을 직접 실행할 때 사용할 수 있습니다.



* 문제 해결 도구 활용하기

도구>문제 해결 도구는 jEdit 사용중 문제가 생겼을때 원인 파악이나 현상 확인에 도움을 주는 기능으로 다음과 같은 도구 들이 있습니다.


- 작업 로그 

오류 내역등을 확인할 수 있습니다.


- 작업 관리자

디렉토리 검색 처럼 시간이 오래 걸릴 수 있는 진행중인 작업을 확인하고 취소할 수도 있습니다. 아래의 그림도 특정 폴더를 검색하는 중에 작업 진행 상황을 확인한 것입니다. 이런 상황은 원격 접속이나 일괄 치환등에도 발생할 수 있습니다. 우측의 x 아이콘을 클릭하면 진행주인 작업을 중단시킬 수 있습니다.




키보드 테스터

키보드 불량을 확인하거나 단축키가 오동작하는 것 같을 때 확인할 수 있는 기능으로 아래의 그림과 같이 입력 창에서 단축키를 입력하면 해당 내용을 메뉴의 단축키 표시 방법으로 출력합니다.




- 메모리 정리 및 상태 조회

GC(garbage collector)를 통해 메모리 정리를 수행하고 그 결과 jEdit의 메모리 관리 상태를 보여 줍니다. 메모리 부족으로 jEdit를 가동시킬때 메모리를 확장시켜야 할지 등을 판단할 때 활용하고 GC로 메모리 관리를 해주는 효과도 있습니다.




- 편집 모드 재정리

편집 모드와 관련한 정보를 jEdit 외부에서 수정하거나 복사해온 경우 해당 설정을 적용하여 다시 편집에 활용 할 수 있도록 해줍니다.


- 빠른 설정

커서 위치에 있는 문법 스타일을 수정합니다. 프로그래밍 언어 종류나 기타 문법 인식에 따른 표시 스타일을 수정하고 싶을때 수정하고자하는 문법 요소에 커서를 두고 "빠른 설정" 메뉴를 선택하면 아래의 그림과 같이 해당 요소에 대한 스타일을 간편하게 수정/적용할 수 있습니다.






댓글
댓글쓰기 폼