-
소스인사이트 매크로 사용법카테고리 없음 2007. 8. 23. 11:00
이전에 DOC 문서로 정리했던 내용입니다.
- 2012년 5월 21일 재수정됨.
New Document.htm 소스인사이트 매크로 사용하기
작성 목적
소스인사이트를 사용할 때 주석을 다는 것과 작업은 반복적으로 하게 됩니다. 매크로를 사용하게 되면 이러한 작업을손쉽게 할 수 있습니다. 매크로 사용법에 대해서 간단하게 정리해보았습니다.
기본 용어 학습 - 매크로
매크로란 마우스, 키보드, 이벤트 등을 이용하여 수행하는 작업을 자동화한 일련의 과정입니다. 한마디로 자동화 파일이라고 할 수 있습니다. 소스인사이트에서 매크로는 기본적으로 C함수와 유사한 방법으로 만들 수 있습니다. 다만 C와같은 컴파일러를 사용하는 것이 아니라 소스인사이트 내장 인터프린터를 사용하기 때문에 C에서 사용하던 함수를 사용할 수 없고 소스인사이트에서 제공하는 함수와 문법을 사용하여 제작해야 합니다.
소스인사이트에서 사용하는 매크로는 em 확장자를 가지게 됩니다.
My Doucument\Projects\Base\utils.em이란 녀석은 프로젝트를 생성할 때마다 기본으로 포함되게 되니 자주 사용되는 매크로는 이 utils.em 파일 안에 작성하면 되겠습니다.(Options > Preferences > Symbol Lookups > Project symbol path에 지정되어 있습니다.)
매크로 사용법
우선 매크로 사용법에 대해서 살펴보겠습니다.. 그다지 어렵지 않으니 아래 단계를 따라 오시면 됩니다.매크로를 사용하기 위해서는 매크로 함수가 필요합니다. 매크로함수는 직접 작성해도 되고 소스인사이트 사이트 등에서 제공되는 매크로 함수가 담긴 em파일을 사용해도 됩니다.
다음으로 이렇게 작성한 매크로함수 파일에 프로젝트에 포함시킵니다. 기본적으로 포함되는 utils.em에 매크로 함수를작성했다면 이 작업을 해주실 필요는 없습니다.
매크로 함수를 사용하기 위해서 단축키를 지정합니다.
-단축키를 지정하는 방법-
- Options> Key Assignments…을 선택
- Key Assign창이 나타나면 Command란에 ‘Macro:작성한 매크로함수명’를 타이핑하시고 Assign New Key 버튼을 누릅니다.
- 지정하고 싶은 단축키를 누르면 해당 키가 할당되게 됩니다.
개인적으로는 Ctrl+Shift+원하는키 조합이 다른 단축키와 중복이 되지 않고 누르기 편해서 좋다고 생각합니다.
이제 실제 소스인사이트를 사용하시다가 필요한 부분, 예를 들면 주석을 달고 싶은 부분에서 해당 단축키를 누르면 됩니다.
SAMPLE
백문이 불여일견이라고 직접 매크로를 설정해보도록 하겠습니다.
1. 아래 매크로를 utils.em 파일에 추가합니다.
- Options > Preferences > Symbol Lookups > Project symbol path에 base project가 포함되어 있는지 확인합니다.
- 포함되어 있다면 파일 열기에서 utils.em을 typing하고 enter를 누르면 utils.em 파일이 열립니다.
- 포함되어 있지 않다면 임의의.em파일을 만들고 프로젝트에 포함시켜주시면 됩니다.(Project > Add and Remove Project Files ...)
macro Insert_Upper_Commnet()
{
upper_comment = Ask("Please Enter your comment")
hwnd = GetCurrentWnd()
lnFirst = GetWndSelLnFirst(hwnd)
hbuf = GetCurrentBuf()
InsBufLine(hbuf, lnFirst, "/* @upper_comment@ */")
}2. 다음으로 단축키를 지정합니다.
Options > Key Assignments…를 클릭하세요
Command란에 Macro: Insert_Upper_Comment 를 입력하시고 Assign New Key를 눌러 적당한 키를 선택하세요. 저는Ctrl+Shift+/ 를 할당했습니다. (Macro부터 typing하세요)
3. 이제 소스인사이트를 사용하다가 현재 라인 바로 위에 주석을 달고 싶다면 Ctrl+Shift+/를 살포시 눌러주시면 됩니다. ^^
추가
한글입력시 깨짐 방지 (from: http://blog.daum.net/bluebread/2 )
macro로 0xe5 문자를 hooking해서 깨짐을 방지하는 방법이네요!
Good Idea!