无法让简单的 C 代码完成在多个 IDE 上工作 linux

Unable to get simple C code completion to work in linux on multiple IDEs

我正在尝试在 linux 上找到支持代码完成的 IDE。例如在 Visual studio 的 C 项目中,当我这样做时:

#include <stdio.h>

然后开始输入 "printf" 将弹出一个带有 printf 原型的框。我一直在拼命地尝试在 linux ide 中获得此功能并尝试了几次。

Codeblocks:在 ubuntu 14.04 我已经尝试了 13.12 以及安装 16.01。输入#include 后,两者都不会弹出对话框。 "pri" 将仅作为选择弹出私有。我试过启用和禁用完成插件无济于事。并使用热键调用提示。

Qt-Creator:与从 ubuntu 存储库安装的 3.0.1 相比。 #include 不会弹出 printf。我已在菜单设置中确保已启用编辑器中的完成功能。

Eclise mars:这是一个安装和获取 运行 的野兽。我用 C/C++ 开发模式安装了它。我找不到代码完成的任何重要菜单设置,但我确实确保 /usr/include(stdio.h 所在的位置)在包含路径中。 header 文件也会在左下角的框中弹出,上面有小锁,我可以在 include 语句后打开它,但在键入 printf 后肯定不会弹出带有 "printf" 的框。 ..

在安装 clang 和 clang-completion 插件后,我在 Atom(来自 atom.io)中获得了一些代码完成功能。但它经常崩溃:/

有谁知道如何获得代码完成,其中一个简单的#include 将打开 header 并允许 calltip/code hint/etc 框弹出任何函数原型上面的IDEs?或者这不是他们所说的 "autocompletion" 的意思。或者您是否知道可以支持我特别寻求的功能的好 ide?

谢谢,非常感谢您的帮助!

编辑:作为对 Ashish 的回应和澄清,这是我在 VS 中寻找的行为,但在代码块中发生了什么。我当前的代码块版本是从 ppa "ppa:damien-moore/codeblocks" 安装的 16.01,但我从 "sudo apt-get install codeblocks" 获得的原始代码块也发生了同样的问题

这就是 code::blocks(以及 eclipse 和 qt-creator)中发生的事情...>

我不知道,如果我很特别,但下拉菜单功能在 Code::Blocks 13.12 中对我有用。我在 Ubuntu 14.04 LTS 工作。

我认为您有点困惑。首先,您需要键入您要调用的函数的几个词,然后列表就会出现。通过输入 1 个字母,您将获得所有变体的可能性很小。

例如,当我在代码块中只键入 #i 时,什么也没有出现:

但是当我输入#in时,列表出现了。抱歉,我无法显示列表的图像,只要我点击快门捕捉图像,它就会消失。但这是在输入 #in:

后出现在列表中的所有内容
#define
#elif
#elifdef
#eliffndef
#else
#endif
#error
#if
#ifdef
#ifndef
#include
#line
#pragma
#undef

#include 突出显示,因为它是唯一从 #in.

开始的选项

我认为我的 Codeblocks 13.12 和你的 Codeblocks 之间没有区别,尤其是因为我们正在开发相同的 OS。我认为你应该从官方网站下载。但是使用命令行本身安装要简单得多。

请注意,您不会得到一个 IDE,在其中输入 1 或 2 个字母,就会出现一个下拉列表。您需要输入几个字母,下拉列表才会出现。

After putting in #include neither will popup a dialog.

是的,预计不会来。 #include 是一个完整的关键字,因此不会再有下拉列表。如果您希望为要包含的文件显示一个下拉列表,则需要键入开头。喜欢:

#include <std

然后就会出现。这是因为,您甚至可能包含本地文件,例如:

#include "test.h"

IDE 不知道。

"pri" will popup private as a selection only.

这是另一个奇怪的问题。您能否提供更多信息,例如您是从哪里下载或安装代码块的?因为那不会发生在我身上。我看到了:

printf(): int
priority_queue
private

嗯。我无法让 code::blocks 工作,但我终于找到了 Qt-creator(呸...开始考虑回到 visual studio :/)

Qt-creator 的问题至少是默认情况下桌面套件会自动找到我的 Clang 编译器,但 select 它不会出现在桌面套件中。

在菜单下:Tools|Options|Build & 运行|Kits 选项卡|Desktop(默认)和select从下拉框中编辑编译器。

代码补全又开始工作了。