3

这是我的 .vimrc:

set nocompatible
filetype off

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'gmarik/Vundle.vim'
Plugin 'scrooloose/nerdtree'
Plugin 'Valloric/YouCompleteMe'
Plugin 'jnurmine/Zenburn'
Plugin 'ldx/vim-indentfinder'
call vundle#end()

filetype plugin indent on
colors zenburn

set encoding=utf-8
set tabstop=4
set softtabstop=4
set shiftwidth=4
set smarttab
set number

let g:ycm_always_populate_location_list = 1

现在,我正在尝试在 C++ 项目中使用它。问题是编译错误没有在编辑器中突出显示。我知道我的.ycm_extra_conf.py好和配置好,因为如果运行:

:YcmForceCompileAndDiagnostics

然后,在我知道是错误的一行中:

:YcmShowDetailedDiagnostic

我收到预期的错误消息:

/home/lvella/src/project/src/main.cpp:56:2: error: unknown type name 'safdsadfsadf'

但它没有突出显示。通过检查:YcmDiags,我可以看到来自我正在使用的外部库内部的 30 条警告消息。现在我怀疑错误列表最多包含 30 个条目,而将我代码中的条目排除在外。我对吗?我可以过滤掉我当前正在查看的文件中不存在的所有条目吗?我可以增加列出的条目数量吗?如何查看我的错误?

4

1 回答 1

2

事实证明,这是阅读手册的问题:

g:ycm_max_diagnostics_to_display 选项

此选项控制在文件中检测到错误或警告时向用户显示的最大诊断数。仅当您使用 C 系列语义完成引擎时,此选项才相关。

默认值:30

让 g:ycm_max_diagnostics_to_display = 30

我只是将此选项设置为 1000,我可以看到我的错误消息。

于 2015-07-15T17:57:49.017 回答