NppExec 및 Ruby를 사용하여 Notepad++용 새 매크로 기능 스크립팅

NppExec 및 Ruby를 사용하여 Notepad++용 새 매크로 기능 스크립팅

저는 미국과 유럽에서 일하고 있는데 월/일(미국)과 일/월(EU) 형식을 전환하면 로그나 메모를 볼 때 모호해집니다(예: 7/8/12가 7월 8일인가요 아니면 8월 7일인가요?).

국제 형식을 사용하도록 Notepad++ 타임스탬프 기능을 변경하고 싶습니다.

YYYY-MM-DD--DAY--HH:MM

2012-08-19--Sun--20:30

참고로, 주의 요일을 명시하는 것은 좋은 추가 기능이 될 것이며, 달력에서 그 날이 무슨 요일인지 찾아볼 필요가 없습니다.

현재 NPP에는 이러한 유연성이 없습니다. Ruby를 사용하여 일종의 매크로나 스크립트를 사용하여 이를 수행할 수 있는 방법이 있습니까?

답변1

NppExec 플러그인과 Ruby를 사용하여 이를 수행하는 방법을 공유합니다.

해결책:

접근하다: 외부 스크립팅 언어(이 경우 Ruby)를 가져와 형식화된 타임스탬프를 반환하고 NppExec이 이를 수신하여 Notepad++에 표시된 현재 파일의 커서 위치에 삽입합니다.

먼저 콘솔을 구성하십시오.

    npe_console v+   // set console to receive output in $(OUTPUT) variable
    npe_console d+   // set current working directory to same as current file

그런 다음 NppExec > 실행 메뉴 명령에서 다음 코드 조각을 입력합니다.

    // Diary snippet (Generates timestamp YYYY-MM-DD--DAY--HH:MM for NPP++)
    npp_console disable     // turn off output displaying to console
    // this ruby one-liner does the work
    ruby -r Date -e "dt=DateTime.now; dname = Date::ABBR_DAYNAMES[dt.wday]; puts dt.strftime(\"%Y-%m-%d--#{dname}--%H:%M\");"  
    sel_settext $(OUTPUT)   // put result at cursor in current file
    npp_console enable      // restore output displaying to console
    npp_console 0           // hide the console window

이는 Ruby 엔진을 사용하여 타임스탬프를 생성하고 메모장++의 현재 파일에서 커서가 있는 위치에 삽입합니다. 결과(약 500ms 지연)는 타임스탬프입니다.

    2012-08-20--Mon--20:16

메모:이것이 확실히 작업을 수행하는 동안 누군가가 외부에 의존하지 않는 솔루션(이 경우 Ruby)을 가지고 있다면 더 좋을 것입니다.


편집: 솔루션 "생산화"... (강건함과 편리함)

아래 단계에 따라 위의 솔루션을 생산할 수 있습니다.

문제는 Notepad++를 닫으면 콘솔 구성이 손실되므로 다시 시작할 때마다 이를 설정해야 한다는 것입니다.

그래서 우리는 Notepad++가 시작될 때마다 자동으로 실행되는 스크립트로 콘솔 구성을 설정했습니다.

그런 다음 편의를 위해 일기 스크립트에 키보드 단축키(단축키)를 연결합니다.

1 단계: NppExec Excute... 대화 상자에 일기 코드를 입력하고 Plugins > NppExec > Execute...이름을 지정합니다(나중에 해당 이름을 사용하게 됩니다).

1단계 - 일기 코드 입력

2 단계: 유사하게 setup_console 구성 코드를 입력하십시오.

2단계 - 콘솔 구성 코드 입력

3, 4, 5단계: 에서는 Plugins > NppExec > Advanced Options시작 시 실행되도록 setup_console을 설정하고(3), 일기 코드에 대한 메뉴 항목을 생성하고(4), 메뉴 항목을 메뉴에 넣습니다 Macro(5).

3,4,5단계 - 모든 설정하기

6단계:일기 스크립트에 키보드 단축키(단축키)를 설정하고 Settings > Shortcut Mapper... > Plugins, 사용한 일기 스크립트 이름을 찾을 때까지 아래로 스크롤하세요...

6단계 - 키보드 단축키

결과:메뉴 명령 아래를 보면 Macros키보드 단축키가 포함된 새로운 타임스탬프 명령이 표시됩니다.

결과 - 완료

완료!

관련 정보