YouCompleteMe가 기능 매개 변수를 완료하지 않는 이유는 무엇입니까?


10

C ++ 의미 론적 완성과 함께 YouCompleteMe를 사용하고 싶지만 몇 시간 동안 시도한 후에 예상대로 작동하지 않는 이유를 찾을 수 없습니다.

모든 것이 작동하는 것 같지만 기능 매개 변수를 완료 할 수 없습니다.

아치 리눅스에서 Vim을 실행하고 있습니다 (Openbox의 그놈 터미널).

Linux Arch-PC 4.2.5-1-ARCH #1 SMP PREEMPT Tue Oct 27 08:13:28 CET 2015 x86_64 GNU/Linux

지침에 따라 YCM을 설치했습니다 ( install.py스크립트 및 clang 지원 포함). 나는 또한 AUR YCM 패키지를 사용해 보았고 같은 문제가 발생했습니다.

YcmDebugInfo:

Printing YouCompleteMe debug information...
-- Server has Clang support compiled in: True
-- Clang version: clang version 3.7.0 (tags/RELEASE_370/final)
-- Flags for /home/arthur/vimtest/main.cpp loaded from /home/arthur/vimtest/.ycm
_extra_conf.py:
-- ['-x', 'c++', '-Wall', '-isystem', '/home/arthur/.vim/bundle/YouCompleteMe/th
ird_party/ycmd/ycmd/../clang_includes']
-- Server running at: http://127.0.0.1:54555
-- Server process ID: 11520
-- Server logfiles:
--   /tmp/ycm_temp/server_54555_stdout.log
--   /tmp/ycm_temp/server_54555_stderr.log

그것이 완료하려고 할 때 화면에 나타나는 것입니다. YCM 문제

에 YCM-Generator를 사용했습니다 .ycm_extra_conf.py.

Vim에 대한 지식이 부족하여 어리석은 것을 놓치고 있습니까? 잘못된 키보드 단축키 매핑과 같은 것으로 보이지만 정확히 무엇이 잘못되었는지 파악할 수는 없습니다. 이것은 내 .vimrc입니다.

set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

    " let Vundle manage Vundle, required
    Plugin 'VundleVim/Vundle.vim'

    Plugin 'scrooloose/nerdtree'
    Plugin 'mbbill/undotree'
    Plugin 'majutsushi/tagbar'
    Plugin 'bling/vim-airline'
    Plugin 'tpope/vim-fugitive'
    Plugin 'vim-scripts/c.vim'
    Plugin 'Valloric/YouCompleteMe'
    Plugin 'sjl/badwolf'        
    Plugin 'rdnetto/YCM-Generator'

call vundle#end()            " required
filetype plugin on    " required

"Settings
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set smartindent
set autoindent
set backspace=indent,eol,start
set background=dark 
set shiftround
set ignorecase
set showmode
set ruler
set showcmd
set mouse=a
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif

"Plugins Settings :
    "badwolf
        colorscheme badwolf
    "YCM :
        let g:ycm_collect_identifiers_from_tags_files = 1
    "airline :
        set laststatus=2
        let g:airline_powerline_fonts = 1




"Shortcuts
    nnoremap <F3>  :UndotreeToggle<cr> 
    nnoremap <F4>  :TagbarToggle<cr> 
    nnoremap <F2>  :NERDTreeToggle<cr> 


syn on
set nu

당신의 도움을 주셔서 감사합니다!

답변:


8

마침내 찾았습니다! 매개 변수를 완료하는 것은 YCM 동작의 일부가 아닙니다. 이 YCM 문제를 참조하십시오 .

있다 oblitum에서 오래 포크 이 기능을 부여 할 수 있습니다. 그것이 나를 잘못 인도 한 것입니다.

불행히도, 포크 의이 부분은 유지되지 않은 것으로 보이며 몇 번의 시도 후에 나는 그것을 작동시킬 수 없었습니다.

그래서 내가 clang_completer찾고있는 매개 변수 완성 기능이있는 것을 시도했습니다 .


1
그시겠습니까 clang_completergithub.com/Rip-Rip/clang_complete , 또는 다른 플러그인?
muru

예,이 플러그인입니다.
hippunk 2012 년

로 YCM을 컴파일 --clang-completer하면 작동합니까? 나는 직장에서 항상 매개 변수 완성을 사용하고 있다고 생각합니다. 지금 확인할 수 없습니다 ...
eckes

내 포크가 업데이트되고 리팩토링되었습니다. 업스트림 마스터와 동등합니다. 유지되지 않는 것은 특히 그 지점입니다. 포크 마스터에있는 것을 선호하여 해당 솔루션을 포기했습니다.
pepper_chico
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.