- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我已经有了带有 YouCompleteMe 插件的 Vim(编译时带有对 C 系列语言的语义支持),我将其用于 Python 等。现在我想用 C 尝试一下(我以前从未用 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',
'-Wextra',
'-Werror',
'-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
关于c - Vim + YouCompleteMe + C : a minimal . ycm_extra_conf.py?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25593632/
我为 VIM 安装了 YCM 和 syntastic,通常它们工作正常,但是当它检测到我的代码中的一些错误时我遇到了问题,它显示找不到一些头文件(这是我的项目头文件)。 我的目录树如下所示: TOP
我目前正在将基于 C++ 的 IDE 从 XCode 切换到 Vim。我一直在阅读有关 Vim 插件“YCM”的信息,它需要在源目录中存在 .ycm_extra_conf.py。我正在使用 YCM G
我已经有了带有 YouCompleteMe 插件的 Vim(编译时带有对 C 系列语言的语义支持),我将其用于 Python 等。现在我想用 C 尝试一下(我以前从未用 C 开发过,所以我对一些细节有
我正在为 C++ 设置 YouCompleteMe,但是当我打开一个 .cpp 文件时,我收到错误 NoExtraConfDetected:未检测到 .ycm_extra_conf.py 文件 .vi
我是一名优秀的程序员,十分优秀!