emacs 와 cscope 관련하여 의견 구합니다.
안녕하세요
emacs 와 cscope 사용하시는 분들이 겪을만한 질문인데, 비슷한 경험이 있으시면
말씀좀 부탁드릴께요.
사용환경
MS Windows
cygwin
GNUEmacs 22 release version
cscope (win32 로 컴파일된 바이너리 제공하는 사이트에서 받은것)
indexer 와 cscope 는 리네임후에 실제로는 bat 화일로 -q (large project)
-C (case-insensitive) 옵션사용
1. readonly 속성의 A 라는 화일을 열고 있다가 수정이 필요해서 check out 후에
수정하기 위해서는 C-x k 로 buffer 를 kill 한후에 다시 buffer 를 open 하고 수정함.
제가 원할때 원하는 buffer 를 reload 해주는 명령이 있는지요?
2. cscope 에서 -C 옵션으로 검색할때 text search 를 제외한 기능은 모두 정상동작하지만,
text search 의 경우에는 모두 소문자로 해줘야만 검색이됩니다.
또는 "emacs newbie" 처럼 공백문자를 포함하는 text 검색이 되질 않습니다.
3. 여러개의 window 가 열려있는경우 cscope 검색후에 검색결과를 마우스로 클릭할경우
아무 window 나 랜덤하게 file 이 open 됩니다. 이럴경우 기존에 보고있던 파일을 다시 열어야
하는 불편함이 있고, 혹은 o 를 누를경우 모든창이 닫히고
파일이 열리게 되는데요, 내가 원하는 윈도우에서 열수있는 방법은 없을까요?
4. c-mode 에서 키입력시에 CPU 90% 이상이 되면서 emacs 가 lockup 되는 현상으로
extern const char *i_m_string[LANG]; 이런식으로 2000개의 line 정도가 있는 header 파일입니다.
font-lock 을 off 하고도 같은 현상이 나오는것으로 미루어 c-mode 자체의 문제라고 보여지는데
비슷한 경험 있는분 없으신가요?
5. cscope 에서 db (?) 를 만든후에 화일하나 수정하고 이후 search 할때 db 를 다시만드는것은
이해가 됩니다만, 전체를 새로 갱신하여 시간이 오래 걸립니다.
화일한개가 수정되었을때, 수정된 화일에대해서만 갱신하는 방법은 없을까요?
cscope은 그렇게 많이
cscope은 그렇게 많이 쓰지 않아서 잘 모르겠습니다만.. 1번 같은 경우에는 revert-buffer하면 되지 않을까요..?
음.. 해보니 잘 되네요... revert-buffer쓰시면 될 듯...
3번은.. 파일 여는 함수에 advise를 걸면 되지 않을까..라고 생각합니다만.. 역시 cscope은 잘 안쓰는 관계로....
klenui 님 답변
klenui 님 답변 고맙습니다.
3번 advise 는 검색해봤는데 잘 모르겠네요 ^^
간단한 예나 링크가 없을까요?
cscope 를 잘 안쓰시면 혹시 Semantic 을 사용하시나요?
emacs 과 함께 사용할수 있는 다른 분석툴이 있으시면 살짝 알려주세요
C-x C-q(toggle-read-only)
C-x C-q(toggle-read-only) 을 이용하시면 read-only 로 열린 파일을 수정할 수가
있습니다. 수정후 저장은 C-x C-s로 하시면 됩니다.
http://www.emacswiki.org/cgi-bin/wiki/EmacsCodeBrowser 라는 것이 있더군요.
------------------------------------------
emacs user
댓글 메일이 오지않는 이유로 답글의 답변은 없을 수 있습니다.
------------------------------------------
emacs user
2번 관련해서 text
2번 관련해서 text search 의 경우는 검색문자 입력시 소문자밖에 입력되지 않는것으로 보입니다.
cscope 단독으로 실행할경우에도 소문자로만 입력 되도록 되어 있네요.
중간에 스페이스가 들어간 단어 서치가 안되는 문제는 cscope 실행화일이 c:\program files\ 아래 있어서 발생한 문제입니다. 다른곳으로 옮기니 검색이 잘되네요
5번의 경우에는 xcscope 에서 지원하는 db갱신하지 않는 옵션이 존재하네요,
기본으로 끄고 사용하다가 sync 를 맞춰야하는 경우만 생성하도록 사용하면 되겠습니다.
끝으로 괜찮은 extension 소개합니다.
http://nschum.de/src/emacs/
1) highlight symbol - symbol highlighting 과 search 를 아주 쉽게 할수있네요
2) window numbering mode - window 이동시에 M-숫자 키로 간단하게 이동할수 있습니다.
댓글 달기