【问题标题】:C code autocomplete in EclipseEclipse 中的 C 代码自动完成
【发布时间】:2011-01-31 06:25:11
【问题描述】:

我是一名 Java 开发人员,我已经下载了 Eclipse 用于 C(课程目的),令我惊讶的是,控制+空格快捷方式(用于自动完成)不起作用。 我使用向导创建了一个新项目和一个新类,并开始输入“打印”,然后试图找到一个自动完成功能。 经过一番谷歌搜索后,我到达了C/C++->Editor->Content Assist->Advanced,在那里我验证了Help proposalsParsing-based proposalsTemplate proposals 选项已被选中。 然后,我使用该页面上的链接转到Keys 首选项页面,并从C\C++ Content Assist (type...) 之前输入所有相关内容辅助的绑定,并在When 框中选择C\C++ Editor 选项。 但可惜没有提供自动完成功能。 有人可以指点我正确的方向吗?

更新:我接受答案不是因为我确定它是正确的,而是因为我意识到我在 eclipse 的配置上犯了一些错误,并且在另一个安装/配置(即我的一个朋友) eclipse 会自动完成,即使它仍然缺少许多 java 版本的功能。

【问题讨论】:

  • 你好,我也有这个问题,但是Ittai没有具体提到他犯了什么错误。
  • @badp 我已经发布了一个答案,说明我做了什么
  • 你应该接受你的答案而不是答案并评论它不起作用!!!!!
  • @Mr_and_Mrs_D 接受的答案让我找到了完整的解决方案,它本质上是正确的。查看我的更新。

标签: c eclipse autocomplete


【解决方案1】:

使用“首选项”窗口中的“高级”面板来配置内容辅助 (Ctrl+Space) 命令的行为。
转到首选项->C/C++->编辑器->内容辅助->高级
检查 Default Proposal 种类中的 parsing-based-Proposals

【讨论】:

  • 这是我需要的解决方案。非常感谢!
【解决方案2】:

虽然 eclipse 不提供完美的自动完成功能,但它可以工作.. 当您关闭索引器时,有时会发生这种情况。

尝试启用索引器并重建索引。

CDT FAQ 中查看此问题。它包含有关如何查找可能会阻止自动完成的索引器错误的信息。

【讨论】:

    【解决方案3】:

    我不是 Eclipse 专家(我什至不在电视上播放),但它可能只自动完成在当前范围内声明的函数名称 - 您是否在顶部添加了 #include <stdio.h>获取标准 I/O 函数的声明的源文件?

    【讨论】:

      【解决方案4】:


      您应该验证您在路径环境变量中定义了 gcc 主目录(即 C:\MinGW-4.4.1\bin)(如果您使用的是 windows,则它是等价的)。还要验证该文件是否具有 .c 后缀,并且索引器是否已按 yousf 所说的那样打开。 我认为,不确定,然后您需要使用 -clean 标志运行 eclipse 并且自动完成功能将起作用。

      伊泰

      【讨论】:

        【解决方案5】:

        我在这里回答: Eclipse: How to add include path to be used by autocompletion

        你必须明确告诉它在哪里可以找到标题:

        ⇒ 右键单击​​您的项目
        ⇒ 转到“C/C++ 包含路径和 符号'
        ⇒ 选择'添加外部包含路径...'
        ⇒ 浏览 到你的头文件的位置
        ⇒ 刷新

        【讨论】:

          【解决方案6】:

          可能与 KeyAssist 绑定有关。

          如果您尝试过内容辅助:

          进入窗口>首选项。菜单“常规”->“按键”

          在里面搜索“模板”并设置:

          绑定到->“Ctrl + Space”

          何时:“编辑测试”

          图像助手Image Menu Key Assist Code Complete

          【讨论】:

            【解决方案7】:

            Vim 通过扫描你的#include 来提供这个功能(快捷键是Ctrl-N,或者Ctrl-P 向后搜索)。如果您找不到更好的解决方案,最后的办法是查看eclim,它将 vim 功能集成到 Eclipse 中(反之亦然),并且肯定会提供此功能。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2011-09-06
              • 2013-01-21
              • 1970-01-01
              • 2012-03-16
              • 2011-05-14
              • 2022-01-12
              • 2014-07-22
              相关资源
              最近更新 更多