VC++ 6.0 주석매크로 설정

2010. 1. 25. 19:43HW & SW

■ 주석 매크로..

다른 툴도 마찬가지 이지만 VC++로 코딩 하다보면...
지우기는 애매하고, 그냥 두자니 Assert fail 나고 해서 주석 처리 해두고 지나가는
경우가 많습니다.
주석 처리할 코드가 한두 라인일 경우엔 간단하지만
여러 라인일 경우 // 로 처리하자니 너무 많아서 /* */를 쓰게 되는데...
별루 안 이쁘죠. 그리고 주석을 삭제할 때 많이 귀찮고...

자 이제 본론으로 들어가서 주석 처리용 매크로를 정해두고 쓰는 법을 갈쳐 드리겠습니다.

먼저 메뉴의 "Tools/Macro..."를 선택 합니다.
"Macro"라는 이름의 대화 상자가 뜨죠?
"Edit"를 누릅니다. 매크로 이름에 Comment라고 쓰시고 Description은 암꺼나 쓰던지
아님 비워 두시던지...
자 MYMACROS.DSM이란 파일이 뜨죠?

아래와 같이 코드를 복사해 넣습니다.
Sub Comment()
'DESCRIPTION: A description was not provided.
Dim win
set win = ActiveWindow
if win.type <> "Text" Then
MsgBox "This macro can only be run when a text editor window is active."
else
if InStr( ActiveDocument.Selection, vbCr ) > 0 then
ActiveDocument.Selection.ReplaceText "^", "//", dsMatchRegExp
Else
ActiveDocument.Selection = "// " + ActiveDocument.Selection
End If
End If
End Sub
자 이제 창을 닫으세요. 저장하라면 "예"를 살포시 눌러 주시구...

다시 메뉴의 "Tools/Macro..."를 선택 해서 "Macro" 대화 상자를 엽니다.
다시 한번 "Edit"를 누릅니다. 매크로 이름에 Uncomment라고 쓰시고...
자 다시 MYMACROS.DSM이란 파일이 뜨죠?

아래의 코드를 또 복사해 넣습니다.
Sub UnComment()
'DESCRIPTION: A description was not provided.
Dim win
set win = ActiveWindow
if win.type <> "Text" Then
MsgBox "This macro can only be run when a text editor window is active."
else
ActiveDocument.Selection.ReplaceText "^//", "", dsMatchRegExp
End If
End Sub
이제 창을 닫으시고... 저장 하시고...

마지막으로 메뉴의 "Tools/Macro..."를 선택 해서 "Macro" 대화 상자를 엽니다.
"Options >>" 버튼을 눌러서 추가된 버튼 중
"Keystrokes"를 누릅니다.

"Customize" 대화 상자가 열리죠?
거기서 "Macros/Comment"를 선택하고, "Press New Shortcut"을 선택한 다음
"Ctrl + /"를 눌러 줍니다. 입력창에 표시가 되죠?
이제 "Assign" 버튼을 눌러 입력을 종료하고...

다시 "Macros/Uncomment"를 선택하고, "Press New Shortcut"을 선택한 다음
"Ctrl + Shift + /"를 눌러 줍니다. 입력창에 표시를 확인 하신 후
"Assign" 버튼을 눌러 입력을 종료하고...

자 이제 모든 설정이 끝났습니다.
주석 처리를 하고 싶으신 부분을 선택하신 후 "Ctrl + /" 키를 누르면
선택된 라인 전체가 //로 주석 처리 될겁니다.
주석 처리된 라인을 선택한 후 "Ctrl + Shift + /"를 누르면
// 주석 처리가 사라지죠.

잘 활용 하시길...