溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

YouCompleteMe自動補全C語言大型項目 ycm

發(fā)布時間:2020-09-08 12:30:36 來源:網(wǎng)絡(luò) 閱讀:20214 作者:990487026 欄目:開發(fā)技術(shù)

YouCompleteMe自動補全C語言大型項目


我的ycm在vimrc中的配置

" YouCompleteMe相關(guān)配置
let g:ycm_server_python_interpreter='/usr/bin/python'
let g:ycm_global_ycm_extra_conf='~/.vim/.ycm_extra_conf.py'
let g:ycm_show_diagnostics_ui = 0                  "關(guān)閉語法提示
let g:ycm_complete_in_comments=1                   " 補全功能在注釋中同樣有效
let g:ycm_confirm_extra_conf=0                     " 允許 vim 加載 .ycm_extra_conf.py 文件,不再提示
let g:ycm_collect_identifiers_from_tags_files=1    " 開啟 YCM 標(biāo)簽補全引擎
let g:ycm_min_num_of_chars_for_completion=1        " 從第一個鍵入字符就開始羅列匹配項
let g:ycm_cache_omnifunc=0                         " 禁止緩存匹配項,每次都重新生成匹配項
let g:ycm_seed_identifiers_with_syntax=1           " 語法關(guān)鍵字補全
let g:ycm_goto_buffer_command = 'horizontal-split' " 跳轉(zhuǎn)打開上下分屏
map <F2> :YcmCompleter GoToDefinition<CR>
map <F3> :YcmCompleter GoToDeclaration<CR>
map <F4> :YcmCompleter GoToDefinitionElseDeclaration<CR>


ycm的配置文件,就放在項目源碼目錄內(nèi)


系統(tǒng)頭文件路徑

第三方共享庫的頭文件路徑

項目自己的頭文件路徑

vim .ycm_extra_conf.py
修改flags

flags = [
'-std=gunc99',
'-x',
'c',
'-isystem',
'/usr/include/',
'-isystem',
'/home/chunli/work/01_第三方共享庫頭文件路徑/',
'-isystem',
'/home/chunli/work/01_chunli/08_本項目頭文件路徑/',
 
]



ycm_extra_conf.py 路徑中不要有中文, 否則打開vim出現(xiàn)以下報錯

ycm_extra_conf.py 路徑中不要有中文, 否則打開vim出現(xiàn)以下報錯
UnicodeEncodeError: 'ascii' codec can't encode characters in position 37-40: ordinal not in range(128)


解決辦法

1,
在.ycm_extra_conf.py文件首行添加
# encoding=utf8

2,創(chuàng)建文件,寫入信息
chunli@CentOS~$ sudo find / -name 'site-packages'
/usr/share/xemacs/site-packages
/usr/lib/python2.6/site-packages

chunli@CentOS~$ sudo vim /usr/lib/python2.6/site-packages/sitecustomize.py
import sys
sys.setdefaultencoding('utf-8')
chunli@CentOS~$





ycm 排錯

#需要在vimrc 開啟let g:ycm_show_diagnostics_ui = 0 "關(guān)閉語法提示

ycm其他命令
:messages
:YcmDiags    
:YcmDebugInf




向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI