SciTE에서도 vi와 마찬가지로 ctags를 이용해서 소스 코드를 분석한다.
기본 원리는 Lua 스크립트로 현재 커서 위치의 단어를 읽어 tags 파일을 찾아, 해당 소스 코드를 편집 화면에 여는 것이다. 이를 위해 제공되는 Lua 스크립트에는 몇 가지가 있다.
먼저 ctags를 돌려서 tags 파일을 만들자.
분석할 소스 코드의 폴더 구조는 다음과 같다.
이제 이 파일의 절대경로를 SciTEGlobal.properties 파일의
참고로 tags 파일의 크기가 아주 커다란 경우에는 SciTE가 뜨는데 시간이 좀 걸린다. 윈도우즈에서 SciTE가 아예 화면에 뜨지도 않으면, Alt+Tab 으로 찾아보자.
참고: http://lua-users.org/wiki/SciteTags
기본 원리는 Lua 스크립트로 현재 커서 위치의 단어를 읽어 tags 파일을 찾아, 해당 소스 코드를 편집 화면에 여는 것이다. 이를 위해 제공되는 Lua 스크립트에는 몇 가지가 있다.
- ctags.lua - extman을 사용하지 않고 직접 SciTE 시작 스크립트로 등록해서 사용, readtags.exe 필요
- ctagsx.lua – extman 이용, readtags.exe 필요 없음
- ctags_alt.lua – extman 이용, readtags.exe 필요 없음, ctagsx.lua의 몇 가지 문제 해결
- ctagsdx.lua – extman 이용, readtags.exe 필요 없음,
$FileDir폴더에서 tags 파일 자동 검색
먼저 ctags를 돌려서 tags 파일을 만들자.
분석할 소스 코드의 폴더 구조는 다음과 같다.
/myproject
`---common
| `---inc
| `---src
| `---obj
| `---lib
`---project1
| `---inc
| `---src
| | `---view
| | `---control
| | `---model
| `---obj
`---project2
| `...
`---project3
`...
분석할 소스 트리의 맨 위에서 다음과 같이 tags 파일을 만든다.ctags는 -R 선택에 따라 뒤이어 오는 command 폴더와 project1 폴더의 하위 폴더까지 재귀적으로 탐색하면서 ctags가 인식하는 모든 종류의 소스 파일을 분석한다. 이 과정에서 ctags가 인식하지 못하는 파일들(예를 들어 .obj, .lib, .exe 등)은 무시된다. 이렇게 해서 myproject 폴더에는 tags 파일이 생긴다.cd /myproject
ctags -R command project1
(* 주의: ctags 사용 시 폴더 이름에 드라이브 이름(예를 들어 c:/myproject/project1)을 쓰지 않도록 한다. 이렇게 하면 SciTE에서 태그를 찾아서 편집 화면을 열 때, 해당 파일을 열지 못한다. *)
이제 이 파일의 절대경로를 SciTEGlobal.properties 파일의
ctags.path.cxx에 명시해준다.준비는 끝났다. 이제 분석할 소스 코드를 띄워서 자료구조 등의 이름 위에 커서를 올려놓고 Ctrl+. 을 누르면, 해당 자료구조가 정의된 헤더파일을 읽을 것이다. 되돌아오려면 Alt+.을 누른다.ctags.path.cxx=c:/myproject/tags
ext.lua.startup.script=$(SciteDefaultHome)/extman.lua
(* 주의: 반드시 extman.lua 시작 스크립트 설정 이전에ctags.path.cxx를 설정해 줘야 한다. *)
참고로 tags 파일의 크기가 아주 커다란 경우에는 SciTE가 뜨는데 시간이 좀 걸린다. 윈도우즈에서 SciTE가 아예 화면에 뜨지도 않으면, Alt+Tab 으로 찾아보자.
참고: http://lua-users.org/wiki/SciteTags
태그 : Scite
포스트 메타 정보
자동 검색 관련글
- [SciTE] Lua Startup Script 등록하기by tactlee
- [SciTE] 문서 내에서 같은 단어 찾아 표시하기by tactlee
- [SciTE] 블록으로 지정한 구간 정렬하기by tactlee
- SciTE - a SCIntilla based Text Editorby tactlee
- [SciTE] 문서 내의 Lua 코드 실행시키기by tactlee




덧글