问题标签 [clang-complete]

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.

0 投票
2 回答
7607 浏览

vim - gccsense 与 clang_complete

我已经使用omniCppComplete + ctags 有一段时间了,想进一步改进代码完成。

根据此处 [ 1 ] 中的建议,gccsense 和 clang_complete 似乎是替代品。但是,我不确定哪个更好。对他们的表现有任何想法吗?
谢谢!

更新:我试过clang_complete后,发现完成速度极不可接受。然后我使用 libclang.dylib 进行了尝试,它加快了很多,但仍然让人感觉滞后。我想我现在应该坚持使用 ctags。

0 投票
5 回答
16946 浏览

vim - clang_complete: OS X 中的 libclang.{so,dylib} 在哪里?

我查看了通常的位置(/usr/lib/、/Developer/usr/lib/、/usr/local/lib),但它不存在。

如果没有安装,有谁知道我在哪里可以找到安装说明?

谢谢!

我不确定是否应该关闭它,但我找到了我正在寻找的答案:

在安装了 XCode 4 的 OS X 中,libclang.dylib 位于 /Developer/usr/clang-ide/lib/libclang.dylib

0 投票
2 回答
5755 浏览

c++ - clang_complete 错误:未知参数:'--std=c++0x'

clang++ 版本:2.9 vim 版本:7.3

我写我的.clang_comple

使用以下源代码test.cc

而 clang_complete 显示

在快速修复列表中。

我尝试添加选项

问题仍然存在。

试图跟踪clang_complete的一些代码,但仍然无法解决该问题。所有其他选项都可以正确处理,但不是--std=c++0x我错过了什么吗?还是做错了什么?

0 投票
2 回答
3410 浏览

macos - 在 OS X 框架中使用 clang_complete

如果我将以下内容保存到 /tmp/test.cpp:

我可以使用 正确编译它!clang++ -framework CoreServices %,但是 clang_complete 无法完成 CoreServices 中的任何内容。

文档说我应该将编译器选项放在 .clang_complete 文件中(在这种情况下,我使用的是 /tmp/.clang_complete),但是到目前为止我尝试的所有内容都会test.cpp|| unknown argument: '-framework'出现在快速修复窗口中。

让 clang_complete 正确处理框架的正确方法是什么?

0 投票
3 回答
2942 浏览

ios - clang_complete: 适用于 iOS 的 Vim 自动补全

所以最近我一直在尝试建立一个基于 Vim 的 iOS 工作流程。

我找到了 clang_complete,并像这样在我的 .vimrc 中设置了 clang 用户选项

如此处所述:http ://www.zenskg.net/wordpress/?p=199#comment-229

并添加了一些框架/头文件/库路径。我不会发布整条线,因为它很大。

clang因此,我使用命令行(使用相同的选项)测试了项目中文件之一的编译,它编译得很好,但前提是我使用了-arch armv6/7标志。如果我不这样做,它会尝试为 i386 编译并抱怨缺少头文件。

到目前为止,一切都很好。现在我只是使用我给的完全相同的选项clang, toclang_complete的用户选项在我的.vimrc权利?

没有。当我这样做并尝试在 Vim 中自动完成一个单词时,它说

在 Vim 的 QuickFix 列表中。我有点需要这个标志——我应该怎么做?

任何有用的想法。我很想在 Vim 下完成 iOS 代码完成。

0 投票
2 回答
2719 浏览

vim - 如何提高clang_complete的完成速度?

我在 Vim 中使用插件 clang_complete。该插件可以准确完成C++ STL。但它的完成速度让人无法接受。有什么办法可以提高 clang_complete 的完成速度吗?

更新:昨天我发现了这个,现在omnicppcomplete基本可以满足我的需要,所以我决定继续使用omnicppcomplete.vim。谢谢你的回答!!

0 投票
3 回答
1360 浏览

vim - clang_complete 和 iOS

我最近发现了关于 clang_complete 的信息,并认为我会在 MacVim 中尝试一下。我正在做 iOS 开发,一开始我遇到了 UIKit/UIKit.h 文件未找到错误,就像其他人遇到的那样。

我将 Xcode 4.2 与 iOS 5 SDK 一起使用。我已将以下内容添加到 clang_user_options:

但是现在每当我触发自动完成时,我都会收到以下错误:

知道如何解决这个问题吗?

0 投票
1 回答
1003 浏览

vim - clang_complete 的异步代码完成

最近我正在使用clang_completeC++ 代码完成。它对小程序来说很好而且很快,但对我来说太慢了(我正在处理大型代码库,通常一个文件需要几秒钟才能编译),即使我使用了 libclang,它可以缓存一些解析结果以加速以后的解析,如果我理解正确的话。

当前clang_complete将阻塞ClangComplete直到libclang完成解析。即使它启动了一个工作线程,主线程仍然会反复检查用户是否按下CTRLC或工作线程是否成功完成。在此期间,vim 变得反应迟钝,从而使该插件难以使用。

我想对这种行为进行一些改进,例如,ClangComplete不会阻塞,但如果花费超过 0.2 秒,而线程仍在运行,则返回空结果。当 libclang 完成解析后,它检测到我仍在输入相同的补全词,它会弹出一个补全菜单。

这样做的困难在于:

  1. 如何在那个时候弹出一个菜单,而不引起不同线程之间的一些微妙的竞争条件,
  2. 它如何知道我是否仍在输入相同的完成词?我认为 vim 本身会跟踪这一点,因为当我输入错误的东西时,例如,std::strang而不是std::string,然后我输入退格键来删除错误ang,完成菜单会再次出现。那么如何访问这个内部标志呢?
0 投票
1 回答
894 浏览

function - vim脚本(clang_complete)如何完成功能,模板?

在 clang_complete.txt(帮助文件)中,它在 clang_complete-compl_kinds 中显示了这些:

问题是:
1. 我无法访问完整的项目(没有这个文件)
2. 有人可以告诉我如何使用参数 '+' 'a' 等等。
3. 或者你能告诉我在输入 ( 时如何显示函数参数吗?

谢谢!
(原谅我糟糕的英语)

0 投票
0 回答
275 浏览

vim - 如何使用 clang_complete 插件在 Vim 的自动完成窗口中获取重载函数?

我是 vim 的新手,我已经使用默认设置安装了 clang_complete 并将其用于 C++。

我可以使用自动完成功能,但只要有重载功能,我只能在自动完成窗口中看到其中一个(当您键入 . 或 -> 时会打开)。我认为 clang 只显示了它遇到的第一个重载函数。

例如,当是类型时,aList.er我只能iterator erase(iterator)在自动完成窗口中看到具有两个迭代器参数的声明,而不是其他类型的声明。

有什么办法可以让我在自动完成窗口中获得所有重载的功能?

PS:我正在使用 ubuntu 和 Vim v7.3