Source Insight 를 사용하다보면, 나도 모르게 파일이 너무 많이 열려 있는 경우가 있다. 심지어는 50~60개 이상의 파일을 Open 한채로 소스 분석을 하는 경우게 허다하다.

파일 한개가 열릴때 마다 PC 리소스를 잡아 먹는다는 생각에 가끔 윈도우 리스트를 띄어서 모두 닫는 경우가 있다. 매크로를 사용하면 특정 Hot-Key 로 최근 몇개의 파일만 남겨두고 모두 Close 도 가능하다.

그것 외에도 파일을 새로운 창에 열때 10개 이상이 되면 가장 마지막에 봤던 소스파일 윈도우를 자동으로 close 하는 방법이 있다.

Source Insight 에서 제공하는 event handler 함수를 정의하면 된다. (event handler 를 사용하기 위해서는 Options > Preferences > General > Enable event handlers 를 check 해야 한다.)

10개 이상 열린 경우 마지막에 본 소스를 close 하는 event handler와 3개만 남겨놓고 모두 close 하는 macro를 소개한다.

event 로 시작하는 함수는 source Insight 에서 정의하는 event handler 이다. 특정 이벤트가 발생하면 수행되는 것이다.
DocumentOpen 이라는 이벤트 핸들러는 파일을 Open할때 불리는 핸들러다.

event DocumentOpen(sFile)
{
    nHoldWnd = 10
    winCnt = WndListCount()
    if (winCnt > nHoldWnd ) {
        hWnd = GetCurrentWnd()
        while(nHoldWnd--!=0) {
            hWnd = GetNextWnd(hWnd)
        }

        while (hWnd != 0) {
            hTmpWnd = GetNextWnd(hWnd)
            CloseWnd(hWnd)
            hWnd = hTmpWnd
        }
    }   
}



AND