gpt4 book ai didi

c - Vim + YouCompleteMe + C : a minimal . ycm_extra_conf.py?

转载 作者:太空狗 更新时间:2023-10-29 17:02:02 25 4
gpt4 key购买 nike

我已经有了带有 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com