我已经使用YouCompleteMe插件获得了Vim(使用C语言语言的语义支持编译),我将其用于
Python等.现在我想用C语言尝试(我以前从未用C开发过,所以我对某些细节有一点点模糊的想法,比如必要的标志.)
要使用YCM的语义完成功能,我需要提供一个.ycm_extra_conf.py文件; YCM用户指南指向YCM自己的.ycm_extra_conf.py作为参考(link).
以下(基于前面提到的.ycm_extra_conf.py)会为C产生“最小工作设置”(然后我可以指向g:ycm_global_ycm_extra_conf):
旗帜:
flags = [ '-Wall','-Wextra','-Werror','-std=c11','-x','c' ]
和FlagsForFile函数没有final_flags.remove(‘ – stdlib = libc’)行.
否则,示例文件将保持原样.我相信-isystem标志与YCM有关,是否正确?
我也在寻找这个,似乎在这里我们没有得到一个好的解决方案.即使这是一个非常古老的问题,我希望这可能对某人有所帮助.以下适用于我,
import os import ycm_core flags = [ '-Wall','-Wno-long-long','-Wno-variadic-macros','-fexceptions','-ferror-limit=10000','-DNDEBUG','-std=c99','-xc','-isystem/usr/include/',] SOURCE_EXTENSIONS = [ '.cpp','.cxx','.cc','.c',] def FlagsForFile( filename,**kwargs ): return { 'flags': flags,'do_cache': True }
顺便说一下,默认的那个长配置文件让我非常困扰.我应该赞扬这篇文章,http://cocoaspice.logdown.com/posts/302432-youcompleteme-toss-notes