2009. 12. 7. 16:50
소스인사이트 팁2 : 소스와 같은 이름의 헤더파일을 여는 매크로
2009. 12. 7. 16:50 in 공부합시다/프로그래밍
아래의 매크로는 C/ C++ 소스를 보는 중 같은 이름의 헤더 파일을 열도록 하는 매크로 입니다.
C++빌더 의 경우 F6키와 같은 동작을 합니다.
이러한 매크로를 작성 하기 위해서는 도움말의 매크로 랭귀지를 살작 참조해가면서 작성하고
매크로 .em파일을 base프로젝트에 추가하여 작성한다음
Option -> Preference -> Symbol Lookups 페이지에 Project symbol path에 base프로젝트를 추가해주고
Menu나 Key Assign으로 해두면 이용 할수 있습니다.
/*====================================================================
Create by sparrow 2005.09.30
Open C Source or Header file.
===================================================================*/
macro OpenSourceHeader()
{
hbuf = GetCurrentBuf()
bufFileName = tolower(GetBufName(hbuf))
pos = strlen(bufFileName)-1
while(bufFileName[pos] != ".")
pos = pos -1
szFileNameOnly = strmid(bufFileName,0,pos)
szFileExt = strmid(bufFileName, pos + 1, strlen(bufFileName))
if (szFileExt =="c" || szFileExt=="cpp" || szFileExt=="cxx" )
{
openbufFileName = cat(szFileNameOnly , ".h")
hopenbuf = OpenBuf(openbufFileName)
if (hopenbuf == hNil)
{
openbufFileName = cat(szFileNameOnly , ".hpp")
hopenbuf = OpenBuf(openbufFileName)
}
if (hopenbuf == hNil)
{
openbufFileName = cat(szFileNameOnly , ".hxx")
hopenbuf = OpenBuf(openbufFileName)
}
if (hopenbuf == hNil)
{
Msg("Cannot Open header file!")
return
}
SetCurrentBuf (hopenbuf)
}
else if (szFileExt=="h" || szFileExt=="hpp" || szFileExt=="hxx")
{
openbufFileName = cat(szFileNameOnly , ".c")
hopenbuf = OpenBuf(openbufFileName)
if (hopenbuf == hNil)
{
openbufFileName = cat(szFileNameOnly , ".cpp")
hopenbuf = OpenBuf(openbufFileName)
}
if (hopenbuf == hNil)
{
openbufFileName = cat(szFileNameOnly , ".cxxx")
hopenbuf = OpenBuf(openbufFileName)
}
if (hopenbuf == hNil)
{
Msg("Cannot Open source file!")
return
}
SetCurrentBuf (hopenbuf)
}
}
'공부합시다 > 프로그래밍' 카테고리의 다른 글
소스인사이트 팁4 : 선택한 영역의 소스 비활성화 시키는 매크로 (0) | 2009.12.07 |
---|---|
소스인사이트 팁3 : if나 switch문의 뼈대를 작성해주는 매크로 (0) | 2009.12.07 |
소스인사이트 팁1 : 매크로를 이용한 한글 주석 (0) | 2009.12.07 |
[Visual Studio] IE 8.0 업데이트 후 VS2005, VS2008 class wizard 스크립트 오류 해결방법 (0) | 2009.10.16 |
[프로그래밍 일반] 링커 스크립트 (0) | 2009.06.10 |