31

私は xCode 4.5.2 で作業してきましたが、インデックスを作成している場合は、すべてを停止してその仕事をさせる必要があることに気付きました。そうしないと、行き詰まります。プロジェクトが大規模であり、インデックス作成に長い時間がかかっており、それが常に行われるため、これは少し問題になっています。1 つの例として、プロジェクト全体のインデックスが作成されました。プロジェクトに少し取り組んだ後、プロジェクトのほぼ 75% のインデックスが再作成され始めました。ソース管理で確認したところ、作業時間中にプロジェクトに変更はありませんでした。

インデックス作成を完全に停止する方法、またはインデックス作成の回数を減らす方法はありますか? インデックス作成をオフにすることの欠点はありますか? 以前の質問で、オートコンプリートとプロジェクトの検索が妨げられると言われていました。

4

3 に答える 3

63

ターミナルで次のコマンドを実行して、インデックス作成をオフにします。

defaults write com.apple.dt.XCode IDEIndexDisable 1

オンに戻すには、次を実行します。

defaults write com.apple.dt.XCode IDEIndexDisable 0

(注:変更を有効にするには、このキーを削除する必要があるようですが、上記のコマンドを使用しただけで問題なく機能しました。上記を実行してもうまくいかない場合は、キーを削除してみてください)

編集

申し訳ありませんが、質問の一部を逃しました。はい、検索が速くならないようにします。おそらくオートコンプリートが無効になります。インデックスを作成することで、Xcode はユーザーが行ったことをすばやく記憶できます。オフにすると操作が少し難しくなりますが、読み込み時間は改善されます。

于 2012-12-19T19:32:04.413 に答える
13

Xcode 10.1の場合、これが必要な理由は何ですか(私の場合は「内部エラーが発生しました。編集機能が制限されている可能性があります」) :

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

Xcode を閉じて、これを実行し、Xcode を開きます。

于 2019-01-24T11:50:54.137 に答える
4

大規模なプロジェクトに取り組んでおり、cmake を使用して xcodeproj を生成する場合、大きなバイナリをプロジェクトに追加すると問題が発生します。cmake が拡張子を認識しない場合、デフォルトで「ソースコード」としてタグ付けされます!

...そして、これらのバイナリは xcode によってインデックス付けされます。つまり、マシンは常にインデックス付けを行っています (そして、ワークスペースを再生成するたびにゼロから開始します)。また、ファイル内検索は機能しません (ハングするだけです)。

簡単な解決策の 1 つは、バイナリにタグを付けて、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" )
于 2015-11-02T16:05:38.070 に答える