问题标签 [youcompleteme]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 从源代码编译的 VIM 无法协调 python,YouCompleteMe 不可用:需要使用 Python(2.6+ 或 3.3+)支持编译的 Vim
我想在 ubuntu 14.04 上设置我的 vim 以使用 YCM。按照安装说明,我意识到 14.04 上的原生 vim 不支持 YCM,因此我完全按照如何从源代码安装 vim 的说明进行操作,还将 python config-dir 更改为正确的。
似乎它安装了对 python 的正确支持?我现在已经尝试了多次,但我无法让它工作。不过,当我打开 vim 时,我得到了这个错误:
vim - YouCompleteme 是否只能使用 std::function 工作?否则没有功能和参数提示
我使用完整的安装指南编译了 YouCompleteMe,并加载了默认的 .ycm_extra_conf.py。但是,当我尝试创建一个 .cpp 文件并查找函数(例如 strcpy)时,只会在键入 std:: 时提示,即使我已经输入了“使用命名空间 std;”。在代码中。
我不明白为什么标准库函数不会自动完成。有谁知道我错过了什么?我还附上了我的 YcmDebugInfo。谢谢!
在此处输入图像描述 YcmDebugInfo
c++ - VIM 的 YouCompleteMe 插件 - 如何支持其他库方法的自动补全?(例如openmpi)
YCM 自动完成并突出显示 C++ 标准库中的错误。但是,如果我下载另一个库(例如 OpenMPI)并编写导入的代码,<mpi.h>
我可以使用 mpicc 编译它,但 YCM 告诉我<mpi.h>
找不到文件,并且它提供的所有函数似乎都被 YCM 标记为无效。有没有办法来解决这个问题 ?我应该对ycm_extra_conf_py
文件进行哪些更改以支持其他下载的库?
vim - YouCompleteMe(vim 插件)GoToDefinition 不起作用
这是~/.vimrc
相关的部分ycm
。
此外,flags
in .ycm_extra_conf.py
contains 结果echo | gcc -std=c++11 -v -E -x c++ -
指的是C-family
.
问题
虽然auto-complete
工作正常,GoToDefinition
但根本不起作用。
(这里的意思works
是,ycm
可以识别项目中的本地头文件。)
根据注释,GoToDefinition
仅适用于当前的translation unit
.
但是,GoToDefinition
仅适用于我正在编辑的文件。我尝试了什么:放弃让
.ycm_extra_conf.py
全球- 复制
.ycm_extra_conf.py
到项目顶部并g:ycm_global_ycm_extra_conf
在~/.vimrc
. - 做
YcmForceCompileAndDiagnostics
- 文件中的签
final_flags
入FlagsForFile
功能。.ycm_extra_conf.py
final_flags
是这样的。
['-Wall', '-Wextra', '-Werror', '-Wc++98-compat', '-Wno-long-long', '-Wno-variadic-macros', '-fexceptions', '-DN DEBUG', '-DUSE_CLANG_COMPLETER', '-std=c++11', '-x', 'c++', '-isystem', '/home/illuxic/Redbase/../BoostParts', ' -isystem', '/System/Library/Frameworks/Python.framework/Headers', '-isystem', '/home/illuxic/Redbase/../llvm/inc lude', '-isystem', '/home/illuxic/Redbase/../llvm/tools/clang/include', '-I', '/home/illuxic/Redbase/.', '-I', ' /home/illuxic/Redbase/./ClangCompleter', '-isystem', '/home/illuxic/Redbase/./tests/gmock/gtest', '-isystem', '/ home/illuxic/Redbase/./tests/gmock/gtest/include', '-isystem', '/home/illuxic/Redbase/./tests/gmock', '-isystem' , '/home/illuxic/Redbase/./tests/gmock/include', '-isystem', '/usr/include/c++/5', '-isystem', '/usr/include/x86 _64-linux-gnu/c++/5', '-isystem', '/usr/include/c++/5/backward', '-isystem', '/usr/lib/gcc/x86_64-linux-gnu/5/in clude', '-isystem', '/usr/local/include', '-isystem', '/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed', '-isystem ', '/usr/include/x86_64-linux-gnu', '-isystem', '/usr/include']
GoToDefinition
仍然给我'RuntimeError: Can't jump to definition.
'
- 复制
我怎样才能GoToDefinition
工作?
它不仅不能识别间接包含的头文件,也不能识别直接包含的头文件。
c++ - 使用 scons 和 g++ 编译器的项目的 vim 插件 youcompleteme
我刚刚在 CentOS 7 上安装了 YCM。我现在正在为我的项目生成文件的“.ycm_extra_conf.py”等效文件,它是 c++ 文件的嵌套目录,使用 Scons 构建系统和 g++(使用 -std =c++98) 来编译 c++ 文件。我有几个问题:
- “.ycm_extra_conf.py”文件中的“flags”变量的内容是否是传递给项目编译器的标志,在我的情况下是 scons 构建系统的 g++ 编译器?
- 如果对问题 1 的回答是肯定的,那么当 YCM 编译文件时,这些相同的标志是否会传递给 clang?如果是这样,YCM 是在编译还是在技术上处理项目中的 c++ 文件以用于语义完成?
- 如果对问题 2 的回答是肯定的,那么我猜我在“flags”变量中声明的标志不适用于 clang,因为它们适用于 g++。我应该将标志转换/映射到铿锵声吗?
- YCM 是否使用 clang 仅前端编译文件以生成用于语义完成的 AST?
很抱歉这些幼稚的问题,我对 YCM 很陌生。任何帮助/指导将不胜感激。
问候并感谢你,艾哈迈德。
vim - vim a la sublime 上“模板”的简单补全(可能使用 YouCompleteMe )?
我不明白如何使用 YouCompleteMe 创建漂亮的模板,就像我以前在 sublime 上拥有的东西一样。
我想实现的两个基本示例:
键入“日志”正在完成
键入“fori”正在完成
所以基本上扩展模板然后让我快速填充空间并最终得到最后一个“提示”。
据我了解 YouCompleteMe 可以做任何你需要的事情,包括mocha late和milkshake,但我仍然不知道如何做这个简单的事情。
python - Youcompleteme 在 debian 不稳定时停止工作
在将 vim-nox 从 8.0.0095-1 更新到 8.0.0134-1 和一些 python 包之后,youcompleteme 停止工作并在我启动 vim 时抛出错误。
YcmDebugInfo 的输出:
看起来 ycmd 和 vim 对应的 youcompleteme 之间的通信不再正常工作了。debian 不稳定的 vim8 使用 python 3,而 ycmd 使用 python 2.7 启动。ycmd 和 youcompleteme 的软件包版本是匹配的并且最近没有更改(它使用相同的版本)。有人让你完成了 debian 不稳定的最新更新吗?
c++ - YouCompleteMe 不是自动完成功能
YMC 并没有按照我期望的方式工作。它适用的唯一实例是当对象上有范围运算符 (std::) 和点运算符时。但是,它不适用于函数。我正在使用 SDL 库,并且没有任何函数或结构自动完成。我总是要打出来。有任何解决这个问题的方法吗?