【问题标题】:Stopping xcode from indexing停止 xcode 索引
【发布时间】:2012-12-07 05:42:04
【问题描述】:

我一直在使用 xCode 4.5.2,并且注意到如果您正在编制索引,则需要停止一切并让它完成工作,否则您会陷入困境。这成了一个问题,因为这个项目很大,而且索引需要很长时间才能完成,而且它会不断地做。一个例子是它索引了整个项目,在我对这个项目做了一点工作之后,它开始重新索引了几乎 75% 的项目。我检查了源代码控制,在我处理它的时间里,这个项目没有任何变化。

有没有办法完全停止索引,或者减少索引的次数?关闭索引有什么缺点吗?我在之前的问题中读过,据说它阻止了自动完成和搜索项目。

【问题讨论】:

    标签: xcode


    【解决方案1】:

    只需在终端中运行此命令即可关闭索引:

    defaults write com.apple.dt.XCode IDEIndexDisable 1
    

    要重新打开它,请运行以下命令:

    defaults write com.apple.dt.XCode IDEIndexDisable 0
    

    (注意:显然您需要删除此键才能使更改生效,但是,我只使用了上面的命令并且它工作正常。所以如果执行上述操作不起作用,请尝试删除该键)

    编辑

    抱歉,错过了部分问题。是的,它会让搜索变得不那么快。也许自动完成将被禁用。索引使 Xcode 能够快速记住您所做的事情。将其关闭会使其更难使用,但会缩短加载时间。

    【讨论】:

    • 您实际上必须删除密钥才能重新启用索引,请参阅stackoverflow.com/questions/7328041/…
    • @StephanTolksdorf,嗯,我使用了上面的命令,它重新启用就好了。但我更新了我的答案以防万一。谢谢!
    • 它在 XCode6 中也不起作用。关闭它并在启动 XCode 时立即看到“索引”>:-(
    • XCode 6.x 似乎会在启动后不久覆盖该值。例如:$ defaults read com.apple.dt.XCode IDEIndexDisable 输出 1,然后在 XCode 启动后不久输出 The domain/default pair of (com.apple.dt.XCode, IDEIndexEnable) does not exist
    • 它对我有用:我只需要写出带引号的密钥:defaults write com.apple.dt.XCode "IDEIndexDisable" 1(来源:developer.apple.com/legacy/library/documentation/Darwin/…
    【解决方案2】:

    对于 Xcode 10.1,您想要这个的原因是什么(我的是“发生内部错误。编辑功能可能受到限制”):

    defaults write com.apple.dt.Xcode IDEIndexDisable -bool true
    

    关闭 Xcode,运行它,打开 Xcode。

    【讨论】:

      【解决方案3】:

      如果您正在处理一个大型项目并使用 cmake 生成 xcodeproj,则在向其中添加大型二进制文件时会遇到问题。如果 cmake 无法识别扩展名,默认将其标记为“源代码”!

      ... 然后这些二进制文件将被 xcode 索引,这意味着您的机器会不断索引(并且每次重新生成工作空间时都从头开始)。文件中的查找也不起作用(它只是挂起)。

      一个简单的解决方案是标记您的二进制文件并告诉 xcode 忽略它们,例如像这样(cmake 3.2 及更高版本,否则不支持 XCODE_EXPLICIT_FILE_TYPE):

      # fill cmake-variable with some files
      file(GLOB MYGAME_BINARIES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "binaries/*")
      # tag them as "not-sourcecode" ( maybe there is sth better than 'compiled', but it worked for my purpose)
      set_source_files_properties( ${MYGAME_BINARIES} PROPERTIES XCODE_EXPLICIT_FILE_TYPE "compiled" )
      

      【讨论】:

      • 我把这个放在哪里?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-06
      • 1970-01-01
      • 1970-01-01
      • 2015-12-23
      • 2012-02-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多