【问题标题】:DLTK Indexing in progress正在进行 DLTK 索引
【发布时间】:2012-10-31 22:52:44
【问题描述】:

为我们的业务提供支持的软件有近 16,000 个 PHP 文件。这是一个绝对庞大的系统。 Zend Studio 实际上需要几个小时来运行 DLTK 索引。

我找不到对此的最新响应,但必须有办法禁用它,或将其限制在特定目录中。

另外,这个过程到底在做什么?

谢谢。

【问题讨论】:

    标签: eclipse zend-framework zend-studio


    【解决方案1】:

    DLTK 索引是 Eclipse 的一项功能,它索引有关动态语言(如 PHP 或 Perl)的信息。对于 PHP,这包括类定义,包括它们的属性和方法、函数原型、解析其他文件中包含或需要的代码以及许多其他内容。

    没有它,您将失去项目定义的类和函数的自动完成功能。它还有助于重构,因此如果您重命名函数,它可以更新引用该函数的所有其他文件。

    这通常是件好事,但我感受到了你的痛苦,并且多次遇到同样的问题。

    您可以通过右键单击项目中要从索引中排除的文件夹并选择Build Path,然后单击Exclude 来阻止某些目录被索引。这应该可以防止它被这个进程索引。

    或者,您可以调出项目属性并从那里管理排除的路径:

    【讨论】:

    • 感谢您的回复。非常有帮助。我了解索引的重要性,它在为我们的软件编制索引时非常有用,但是当它为库和框架编制索引时,它就没那么有用了,因为我们永远不会点击并编辑它们。再次感谢您对如何排除目录的详细回复。
    • 此外,如果它可以安排在特定点运行会很有用。你知道有什么方法可以通过命令行触发吗?我可以设置一个计划任务或 cron 来触发它。它可以通过 eclipse/zend 中的 CTRL + B 触发,但是关闭“自动构建”,并在工作日结束时通过 ST/cron 触发将是一个完美的解决方法。
    • 我不知道有什么方法可以自动化这个过程。考虑到 Eclipse 的模块化特性,这似乎是可能的,但一些快速搜索并没有发现任何方法。 IRT 对库和框架进行索引,我想您希望这些索引的唯一原因是您编写的代码是否很大程度上依赖于这些库。如果没有对它们进行索引,您将不会获得这些库的任何自动完成或提示,并且它们将在使用它们的源文件中显示为未定义的对象。
    • 对此的更新,我们已经升级了我们的开发工作站以在 SSD 上运行,显然这对此产生了巨大的影响。
    • 带有快照的优秀帖子。 :)
    【解决方案2】:

    如果您有多个项目并且其中一些很少使用,您可以关闭项目(从右键菜单中):这将阻止对这些关闭的项目进行 DLTK 索引。

    请注意,关闭项目并不会删除它,因此如果有一天您需要访问或更改某些文件,您只需重新打开即可。

    【讨论】:

      【解决方案3】:

      将庞大的代码库分解为模块,然后您可以在 Zend Studio 中拥有许多较小的项目,当依赖项被视为库时,每个项目的索引都少得多。

      【讨论】:

      • 我同意像这样的庞大代码库应该以一种让您更模块化地加载事物的方式进行分解,但这是一个长期的解决方案,需要很多时间和大多数人在这种情况下,需要立即为客户完成工作,即使代码库设计得不好。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-25
      • 2014-09-22
      • 1970-01-01
      • 2015-11-04
      • 2020-11-24
      • 1970-01-01
      相关资源
      最近更新 更多