EmEditor v23.0.0 출시 (기술 리뷰 포함)!
오늘 EmEditor v23.0.0을 출시합니다.
관례적으로 이 버전은 v22.6으로 명명되어야 하지만, 수많은 변경 사항과 진정한 주요 업데이트라는 점, 그리고 연도의 마지막 주요 업데이트라는 점을 고려하여 2023년의 마지막 두 자리에 맞춰 v23.0으로 명명하기로 했습니다.
ChatGPT를 비롯한 생성형 AI의 최근 발전으로 웹 브라우저를 통해 다양한 정보와 서비스를 이용할 수 있게 되었습니다. 이 고객을 비롯한 EmEditor 사용자들 사이에서는 외부 브라우저를 사용할 필요 없이 이러한 웹 서비스를 EmEditor 안에서 직접 사용하려는 요구가 커지고 있습니다. 새 버전에서는 EmEditor의 사용자 지정 막대에 웹 브라우저를 표시하는 기능을 추가했습니다. 이 브라우저는 매크로와 연동되도록 설계되어, 편집기에서 문서의 일부를 웹 브라우저에 표시된 사이트로 보내거나 그 반대로 할 수 있습니다. 이러한 기능을 사용하려면 매크로 사용자 지정 대화 상자의 옵션 페이지에서 JavaScript 엔진으로 V8 사용이 선택되어 있는지 확인하거나, 각 매크로의 시작 부분에 다음 줄을 추가하십시오:
#language = "V8"
두 가지 특정 기능이 추가되었습니다:
(1) web. 키워드: HTML의 문서 객체 모델(DOM)에 액세스하려면 소문자 web. 키워드를 사용합니다. 이 구분은 EmEditor의 객체와 웹 브라우저의 객체를 구별하는 데 필요합니다. 예를 들어 매크로에서:
document.write( "Test" );
“Test”를 EmEditor의 편집기 보기에 표시할지 웹 브라우저의 HTML에 표시할지 불분명합니다. “Test”를 웹 브라우저에 표시하려면 web. 접두사를 추가하십시오:
// Displays "Test" in Web Browser
web.document.write( "Test" );
이 구문을 사용하면 web.으로 시작하는 키워드는 웹 브라우저에서 실행되는 명령으로 해석되어 DOM에 액세스할 수 있습니다. 예는 다음과 같습니다:
// Returns the URL of the current web page.
alert( web.location.href );
// Returns the preferred language of the browser.
alert( web.navigator.language );
// Pastes the text of the current web page into a new document.
editor.NewFile();
write( web.document.documentElement.innerText );
// Pastes the HTML of the current web page into a new document.
editor.NewFile();
write( web.document.documentElement.outerHTML );
(2) onLoad 이벤트: 마지막으로 실행된 매크로에 onLoad() 함수로 시작하는 함수가 포함되어 있으면 웹 페이지가 업데이트되거나 새 페이지가 로드될 때 한 번만 호출됩니다. 이 기능을 사용하면 검색 사이트에서 검색 결과를 가져오는 등의 작업을 수행할 수 있습니다. 예를 들어:
function onLoad() {
// Retrieves the HTML of the page and pastes it into a new document.
editor.NewFile();
document.write( web.document.documentElement.outerHTML );
}
Bing.jsee 매크로 예제는 HTML 검색 결과에서 특정 정보를 가져와 표시하는 방법을 보여 줍니다. ChatGPT 무료 버전과 같은 일부 검색 사이트는 페이지 업데이트나 새 페이지 로드를 트리거하지 않을 수 있습니다. 이 경우 onLoad() 이벤트가 발생하지 않아 이 이벤트로는 검색 결과를 가져올 수 없습니다. 그럼에도 불구하고 Makoto Emura는 MutationObserver 인터페이스를 사용하여 HTML 요소를 모니터링하고 변경이 발생할 때 텍스트를 가져오는 아이디어를 생각해 냈습니다. ChatGPT.jsee 매크로 샘플은 이 인터페이스를 사용하여 ChatGPT에서 응답을 가져오는 방법을 보여 줍니다. 이 매크로를 그대로 실행하면 선택한 텍스트가 ChatGPT 프롬프트 상자에 입력될 뿐입니다. 그러나 99~100행의 주석 처리를 제거하면 실제로 텍스트를 전송합니다. 면책 조항: Bing 및 ChatGPT 응답의 형식은 향후 언제든지 변경될 수 있으며, 이는 이러한 매크로의 기능에 영향을 미칠 수 있습니다. 이 매크로는 EmEditor v23.0의 새로운 기능을 시연하기 위한 목적으로만 제공됩니다. 이러한 매크로가 향후에도 작동할 것이라고 보장하지 않습니다.
v23.0의 또 다른 주요 변경 사항은 대용량 파일 처리 최적화입니다. EmEditor 사용자는 종종 수 기가바이트에 달하는 대용량 CSV 파일을 다룹니다. 이러한 파일에서도 원활한 성능을 보장하기 위해 열 삭제, 삽입, 결합, 정렬, 붙여넣기와 같은 작업에 대해 광범위한 테스트를 수행했습니다. 멀티스레딩 및 기타 최적화 기법으로 명령을 최적화하여 v22.5에 비해 약 21~34배 빠른 성능을 달성했습니다.
CSV 변환기의 이전 버전에는 멀티스레딩 코드가 없어 대용량 파일에서 성능이 느렸습니다. 새 버전은 멀티스레딩과 SIMD 코드를 사용하여 수 기가바이트 파일의 CSV 형식 변환도 몇 초 안에 수행합니다.
일본어(JIS) 및 일본어(EUC)의 경우, v23.0은 기존 Windows API 개체인 MultiLanguage를 사용하지 않고 사용자 지정 조회 테이블을 사용합니다. 이 변경으로 잘못된 문자 탐지 로직이 향상되고 파일 열기 및 검색과 같은 작업 속도가 크게 개선됩니다.
v22.5에서는 줄 번호의 왼쪽 가장자리를 클릭하면 책갈피가 토글됩니다. 사용자 피드백에 따라 사용자 지정 대화 상자의 마우스 페이지에 줄 번호의 왼쪽 가장자리를 클릭하여 책갈피 토글 아래에 이 기능을 비활성화하는 옵션이 추가되었습니다.
Markdown 구성은 특수 구문을 추가하여 굵게 및 기울임꼴과 같은 강조 서식을 더 정확하게 표현할 수 있도록 개선되었습니다.
언어 서버 프로토콜을 사용하여 Makoto Emura는 선택한 문자열 또는 전체 문서의 서식을 지정하는 기능을 추가했습니다. 변환 메뉴에서 서식 지정(바로 가기: Ctrl+K, F)으로 액세스할 수 있는 이 명령은 선행 탭이나 공백의 수, 괄호 () 또는 {} 주변 공백의 위치와 유무 등 일관성을 제거하여 가독성을 높입니다. 서식을 지정할 코드를 선택할 수 있으며, 선택하지 않은 경우 전체 문서의 서식을 지정할지 묻는 대화 상자가 표시됩니다. 또는 Ctrl+K, D를 눌러 전체 문서의 서식을 지정할 수 있습니다. 서식 지정 명령을 활성화하려면 사용자 지정 대화 상자의 언어 서버 페이지에서 언어 서버 프로토콜 옵션을 활성화하고, 문서 유형 드롭다운 목록에서 원하는 언어를 선택해야 합니다. 괄호 주변 공백의 유무와 같은 서식 기본 설정은 언어 서버에 따라 달라지며 EmEditor 내에서 사용자 지정할 수 없습니다.
이 버전부터 C++, CSS, HTML, JavaScript, JavaScript for EmEditor, Perl, Python 구성에 대해 언어 서버 프로토콜이 공식적으로 지원됩니다. 사용자는 사용자 지정 대화 상자의 언어 서버 페이지 설정에서 언제든지 이 기능을 비활성화할 수 있습니다.
Makoto는 CommitList(Git) 플러그인에 하위 모듈의 변경 사항을 가져오는 하위 모듈 업데이트 옵션을 추가하여 개선했습니다. 또한 예상되는 동작에 대한 혼란을 피하기 위해 CommitList 사이드바의 스테이징된 파일 목록(스테이징되지 않은 파일 아님)에서 변경 사항 실행 취소 메뉴 항목을 제거했습니다.
마지막으로, 오래된 디자인을 사용하고 유지 관리가 어려웠던 기존 도움말 시스템을 Sphinx를 사용하여 새로 설계했습니다. 새 도움말 시스템은 GitHub 페이지에서 유지 관리 및 빌드됩니다.
Professional 또는 Free 버전을 사용하든 EmEditor가 마음에 드시길 바랍니다. 질문, 기능 요청 또는 향후 아이디어가 있으면 문의하거나 포럼에 작성해 주십시오.
EmEditor를 사용해 주셔서 감사합니다!
— Yutaka Emura
자세한 내용과 스크린샷은 EmEditor v23.0의 새로운 기능을 참조하십시오.
이 릴리스에는 v23.0 개발 중의 모든 버그 수정도 포함되어 있습니다.
데스크톱 설치 프로그램 버전을 사용하는 경우 도움말에서 업데이트 확인을 선택하여 최신 버전을 다운로드할 수 있습니다. 이 방법이 실패하면 최신 버전을 다운로드하여 다운로드한 설치 프로그램을 실행하십시오. 데스크톱 휴대용 버전을 사용하는 경우 다운로드 페이지에서 최신 버전을 다운로드할 수 있습니다. Store 앱 버전은 며칠 후 Microsoft Store(64비트 또는 32비트)를 통해 업데이트할 수 있습니다.