notepad2 컴파일 삽질기 부록#8 : '기본 인코딩으로 다시 읽기' 메뉴로 할당

Notepad2 3.1로 HTML 파일을 편집하다보니 인코딩을 잘못 인식하는 경우가 발생했다.

Notepad2의 4.x 베타버전에는 인코딩을 수동으로 지정하는 기능이 있는데, 찾아보니 3.x에는 그런 기능까진 아니더라도 F8을 누르면 인코딩을 자동으로 확인하지 않고 기본 인코딩으로 다시 읽어주는 기능이 있더라.

가끔은 굉장히 필요한 기능인데, 메뉴에 따로 할당되지 않아 기능이 있다는 사실을 모르는 경우가 많을 것 같더라.
그래서, 이 기능을 별도의 메뉴로 지정했다.

이렇게 수정하는 방법은 아래와 같다.
수정할 대상은 Notepad2.rcNotepad2.c 두 개이다.


1. Notepad2.rc

아래와 같은 부분을 찾는다. File 메뉴의 일부이다.

    MENUITEM SEPARATOR
    MENUITEM "&Default...",                 IDM_ENCODING_SETDEFAULT

이 아래에 아래와 같은 두 줄을 추가한다.

    MENUITEM SEPARATOR
    MENUITEM "&Reload w/o Encoding Detection...\tF8",              CMD_F8



2. Notepad2.c

void MsgInitMenu(HWND hwnd,WPARAM wParam,LPARAM lParam) 함수에서 아래와 같은 부분을 찾는다.

    //EnableCmd(hmenu,IDM_LINEENDINGS_LF,!bReadOnly);
    //EnableCmd(hmenu,IDM_LINEENDINGS_CR,!bReadOnly);


이 아래에 다음의 한 줄을 추가한다.

    EnableCmd(hmenu,CMD_F8,i);


수정된 결과는 아래와 같다.

사용자 삽입 이미지

깨진 인코딩 문제(적색으로 표시)는 Reload... 한 방으로 해결된다!