代码之家  ›  专栏  ›  技术社区  ›  Arthur Ulfeldt

如何让Eclipse在#ifdef…#endif中索引代码

  •  27
  • Arthur Ulfeldt  · 技术社区  · 14 年前

    #ifdef USE_FEATURE_A
    int feature_a(...) {
       some = code(here);
    }
    #endif
    

    如何让eclipse索引一个函数的特性?

    6 回复  |  直到 14 年前
        1
  •  35
  •   Spudd86    14 年前

    你可以告诉我 USE_FEATURE_A 已定义。打开项目属性,转到“C/C++ +通用& GT”;“路径和符号”页,在“符号”选项卡下单击“添加”按钮并将 使用功能 在名称feild中单击OK。

    注意:这将导致它不索引任何 #else 你的预处理器的东西的侧面。。。所以,除非他们都像问题中的那个,否则你不能相信,但如果他们都是,你就很好(Eclipse包含一个C预处理器,它用来分析您的代码(上面的所有工作都与在命令行中添加-DUSE\u特性基本相同,因此Eclipse的预处理器的行为与编译器中的不同)

        2
  •  4
  •   antibus    10 年前

    在我看来,这是一个更简单、更优雅的解决方案,而不是被选为解决方案的解决方案:

    如果有人有同样的问题(如我所遇到的),这个问题(现在?)可以通过 窗口->首选项->C/C++/索引器 启用“索引所有标题变量” . 然后单击 清洁的 建造 你的项目。这将解决所有源于预处理器命令的错误。

        3
  •  1
  •   craigster0 Jonathan Leffler    14 年前

    值得一提的是,让eclipse解析有条件编译的代码比乍一看要困难得多。我在IBM 2007年的一篇文章中发现,他们表示将优先考虑“下一个版本”。

    Handling Conditional Compilation in CDT's Core

        4
  •  1
  •   James Benson    13 年前

    我也有同样的问题,但通过预处理有条件地消除的代码是完全有效的c代码,我希望它格式化。。。这是我的解决方案:

    1) 全球查找/替换#if to#JUNKif

    2) Ctrl-Shift-F以重新格式化源

        5
  •  0
  •   Pieter    10 年前

    在Eclipse(开普勒)c/c++编辑器中索引标志下代码的一种方法。

    您可以在Eclipse编辑器中启用编译标志,以便对其下的代码进行索引。

    属性>预处理器包含路径>CDT用户设置条目

    点击 添加 并添加预处理器宏,您可以指定其值。

        6
  •  0
  •   Binay Kumar Pradhan    9 年前

    我想最好的方法是使用Indexer选项:Project Properties>C/C++通用技术;索引器。 可以选择“启用项目特定设置” 无论如何,您也可以选择索引项目中的所有文件,即使它们不包括在生成中。。。