· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Emacs Semantic Intellisense

Emacs 구조체나 클래스 맴버 자동완성 하기

만약에 헤더 파일에 구조체등(C++, Java 라면 Class 도 마찬가지)을 정의해 두고
프로그래밍 하다가 그 맴버같은거 찾기 애매할때가 있습니다.
이 기능은 Smart Completion 이나, Intellisense 라고 불리더군요.
Visual Studio 에서 foo. 이렇게 점을 찍으면 맴버들이 좍 나오는걸 보셨을 껍니다.

smart.jpg
[JPG image (40.22 KB)]


여기서 쓰이는 elisp은 [http]CEDET 입니다.
잘 읽어 보시고 설치하시길 바랍니다. Debian 등에 패키지로 있으니 패키지 설치 하셔도 좋습니다.

CEDET 는 Collection of Emacs Development Environment Tools 약자 입니다.
여기에 semantic, cogre, ede 등이 있는데 여기서 이야기 하는 것은 semantic 입니다.

설치가 잘 됐다면... 쩜(.) 이나 화살표(->) 등을 써서 이제 다음에 맴버를 채워야 하겠죠.
여기서 여러가지 방법이 있습니다.
M-x 한다음에
semantic-ia-complete-symbol, semantic-ia-complete-tip 등등 다양한 방법으로
구조체의 맴버에 뭐가 들어 있는지 알 수 있지요. 그리고 semantic-idle-completions-mode
라는건, 점찍고(혹은 ->) 하고 기다리면, 가능한 맴버의 리스트들이 뜹니다. 그런데 좀 오래
기다려야 되더군요 (Visual Studio 에 처럼 바로바로 안뜹니다...)
빠르게 할 수 도 있을텐데 잘 모르겠습니다.

그래서 요점은, M-x semantic-complete-analyze-inline 입니다.
다른건 어떻던, 이게 제일 믿음직 하더군요. 전 이걸 C-return (콘트롤 엔터) 로 바인딩 해뒀습니다.
화살표나 점 찍고 C-return 누르면 완성 가능한 맴버가 뜹니다.

위에껀, c 만 누르고 tab 누르니까 자동 완성이 된 모습입니다.

키 바인딩은 취향에 맞게 하시고요, 저 기능과 M-/ (dabbrev-expand) 를 같이 쓰신다면, 한결 수월해질 껍니다 :-)

Happy hacking!




ID
Password
Join
Try to divide your time evenly to keep others happy.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2005-07-04 17:18:54
Processing time 0.0045 sec