원문: Add item to “New” context menu in Windows 8, Structure of the Registry

최근 나는 윈도우 10의 사용자로서 “마우스 오른쪽 클릭 - 새로 만들기(W)” 드롭다운 메뉴를 통해 특정 형식(markdown)의 빈 파일을 생성하고 싶었다. 매번 해당 형식의 새로운 파일을 생성하기 위해 편집기부터 여는 것이 불편했기 때문이다. 그래서 나는 Windows Registry를 변경해 이를 구현하는 방법을 찾았다. 본문은 이에 대한 기록이다.

레지스트리(Registry)란?

레지스트리(Registry)는 윈도우의 동작과 윈도우 상에서 실행되는 서비스들을 위한 필수적인(critical) 데이터를 포함하는 계층화된 데이터베이스이다. 데이터는 트리(tree) 형식으로 구조화된다. 트리의 각 노드는 키(key)라고 부른다. 각 키는 서브키(subkey)와 값(values)이라고 부르는 데이터 입력부를 가진다. 때때로, 키의 존재만으로도 특정 어플리케이션의 요구조건의 전부인 경우도 있다. 이외의 경우, 어플리케이션은 키를 열고 해당 키와 연관된 값들을 사용한다. 키는 값을 몇 개라도 가질 수 있고, 값은 어떤 형식이라도 될 수 있다.

“새로 만들기” 컨텍스트 메뉴 아이템 추가하기

  1. 우선 .reg 확장자를 가진 파일을 생성한다. 아무 빈 파일이나 생성한 뒤 확장자면 바꿔도 된다
  2. 이후, 해당 파일을 오른쪽 클릭한 뒤 “편집” 메뉴를 선택한다
  3. 그 다음에 해당 파일에 아래의 코드를 입력한 뒤 저장한다

     Windows Registry Editor Version 5.00
    
     [HKEY_CLASSES_ROOT\.md]
     @="markdown"
    
     [HKEY_CLASSES_ROOT\.md\ShellNew]
     "NullFile"=""
    
     [HKEY_CLASSES_ROOT\markdown]
     @="Markdown Document"
    
  4. 위에서 markdown은 키 값을 지시하며, Markdown Document으로 지정된 이름의 컨텍스트 메뉴 아이템으로 등장한다. 또한, 해당 아이템을 실행했을 때 기본 파일명으로는 새 Markdown Document라는 이름이 지정된다
  5. 마지막으로, 편집기를 닫고 해당 파일을 윈도우의 레지스트리 편집기로 실행하거나, 해당 파일을 오른쪽 클릭해 “병합(G)” 메뉴를 선택하면 경고창과 함께 해당 윈도우 OS에 파일 새로 만들기 아이템을 추가할 수 있다
  6. 이제 탐색기 등에서 마우스 오른쪽 클릭을 통해 새로 만들기 메뉴에 접근하면 Markdown Document라는 아이템이 추가된 것을 확인할 수 있다
  7. 해당 아이템을 선택하면 새 Markdown Document라는 이름으로 .md 형식의 빈 파일이 새로 생성된 것을 확인할 수 있다

참고로 ShellNew와 관련된 컨텍스트 메뉴 아이템을 확장자에 따라 활성화 또는 비활성화할 수 있는 오픈소스 툴 ShellNewHandler가 있다. 필요한 경우 활용하도록 한다.

<끝>