2012-06-24 2 views
1

나는 vim을 C의 IDE로 사용하고있다. 나는 c-vim, omnicppcompletion, ctags 및 다른 유용한 플러그인을 설치했다.Ctags는 함수 프로토 타입으로 extern 함수를 포함합니까?

그러나 omnicppcompetion은 ctags 데이터베이스 인 을 기반으로하지만 ctags는 읽기/쓰기/소켓과 같은 기능을 제대로 처리 할 수없는 것으로 보입니다.

나는 나의 아치 상자에 다음 명령을 사용하여 내 태그를 내장 : $ pacman -Qql glibc | grep \.h$ > /tmp/filelist_c ; ctags -L /tmp/filelist_c --c-kinds=+px --fields=+iaS --extra=+q

기능 쓰기와 같은 소켓이 태그에없는 그러나. 이 함수는 헤더 파일의 extern 함수라는 것을 알고 있지만 인수 목록과 함수 만 있으면 완료 할 수 있으며 extern 함수도 나를 위해 충분한 정보를 가지고 있습니다.

extern 기능도 포함하는 태그를 만드는 방법에 대해 알고 싶습니다.

답변

1

헤더 파일 *.hctagsC++ 같은 파일에 의해 알려진, 그래서, 당신이 필요로하는 무엇을 달성 할 수있는 가장 쉬운 방법은 명령 줄 ctags를 위해 다음과 같은 옵션을 추가 할 수 있습니다 : 왜 아니라,

--c++-kinds=+p+l

을 그리고 특히 Vim에서 ctags를 관리하기 위해 만든 플러그인 Indexer을 사용하지 않으시겠습니까?

+0

감사합니다.하지만 --C++ - kinds = + p + l을 추가해도 작동하지 않습니다. 인덱서를 시도하겠습니다. – user1477716

+0

작동해야하며 방금 테스트했습니다. 'extern void my_func (int a, int b);'파일'test.h'를 작성하고, 다음 명령으로 ctags를 실행했습니다 :'ctags --C++ - kinds = + p ./test. h이다. 결과 태그 파일에는 다음 행이 포함되어 있습니다.'my_func \t ./test.h \t/^ extern void my_func (int a, int b); $ /; "\t p –

+0

죄송합니다. socket(), connect()와 같은 시스템 호출을 완료 할 필요가있다. 사용자 정의 함수는 추가 ctags paramentors 없이도 이미 나를 위해 작동하고있다. – user1477716

관련 문제