2012-12-19 32 views
13

Tôi đã làm việc với xCode 4.5.2 và nhận thấy rằng nếu bạn đang lập chỉ mục, bạn cần phải dừng mọi thứ và để nó hoạt động, nếu không bạn sẽ bị sa lầy. Nó trở thành một vấn đề, vì dự án là một vấn đề lớn, và việc lập chỉ mục đã mất nhiều thời gian để làm, và nó sẽ làm điều đó liên tục. Một ví dụ là nó đã lập chỉ mục toàn bộ dự án, sau khi tôi làm việc một chút về dự án, nó bắt đầu tái lập chỉ mục gần 75% dự án. Tôi đã kiểm tra với kiểm soát nguồn, và không có thay đổi nào đối với dự án trong khoảng thời gian tôi làm việc với nó.Dừng xcode từ chỉ mục

Có cách nào để dừng lập chỉ mục hoàn toàn hoặc giảm số lần chỉ mục không? Có bất kỳ nhược điểm nào của việc tắt lập chỉ mục không? Tôi đã đọc trong các câu hỏi trước đó, nơi nó được cho biết nó ngăn chặn tự động hoàn thành và tìm kiếm thông qua dự án.

Trả lời

25

Chỉ cần chạy lệnh này tại nhà ga để tắt Indexing:

defaults write com.apple.dt.XCode IDEIndexDisable 1 

Để bật nó trở lại, chạy này:

defaults write com.apple.dt.XCode IDEIndexDisable 0 

(Lưu ý: Rõ ràng bạn cần phải xóa khóa này trong để thay đổi có hiệu lực, tuy nhiên, tôi đã sử dụng lệnh đơn giản và nó hoạt động tốt. Vì vậy, nếu làm như trên không hiệu quả, hãy thử xóa khóa)

EDIT

Xin lỗi, phần bị bỏ lỡ của câu hỏi. Có, nó sẽ làm cho nó để tìm kiếm không hoạt động nhanh. Có lẽ tự động hoàn thành sẽ bị vô hiệu hóa. Lập chỉ mục là những gì cho phép Xcode nhanh chóng nhớ những gì bạn đã làm. Tắt nó sẽ làm cho nó hơi khó khăn hơn để làm việc với, nhưng nó cải thiện thời gian tải.

+0

Bạn thực sự phải xóa chìa khóa để đánh chỉ số bật lại tính, xem http://stackoverflow.com/questions/7328041/how-to- enable-indexing-in-xcode-4 –

+0

@StephanTolksdorf, Hmm, tôi đã sử dụng lệnh trên và nó được kích hoạt lại tốt. Nhưng tôi đã cập nhật câu trả lời của tôi chỉ trong trường hợp. Cảm ơn! – Josiah

+9

Điều này dường như không hoạt động đối với tôi trong Xcode 5.1. –

2

Nếu bạn đang làm việc trên một dự án lớn và tạo xcodeproj với cmake, bạn sẽ gặp vấn đề khi bạn thêm các tệp nhị phân lớn vào đó. Nếu cmake không nhận ra phần mở rộng, nó gắn thẻ chúng là 'sourcecode' theo mặc định!

... và các tệp nhị phân đó sau đó sẽ được lập chỉ mục bằng xcode, có nghĩa là máy của bạn đang lập chỉ mục liên tục (và bắt đầu từ đầu mỗi khi bạn tạo lại không gian làm việc). Cũng tìm trong tập tin sẽ không hoạt động (nó chỉ bị treo).

Một giải pháp dễ dàng là gắn thẻ các tệp nhị phân của bạn và yêu cầu xcode bỏ qua chúng, ví dụ: như thế này (cmake 3.2 và cao hơn, nếu không XCODE_EXPLICIT_FILE_TYPE không được hỗ trợ):

# 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") 
Các vấn đề liên quan