· 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
You will be awarded a medal for disregarding safety in saving someone.


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.0055 sec