2012-07-06 55 views
9

Tôi đang sử dụng CDT trong Eclipse 3.5.2 Galileo trong Ubuntu.Lập chỉ mục Eclipse không hoạt động

Trình lập chỉ mục nhật thực của tôi không hoạt động ở lần. Bằng cách đó, tôi có nghĩa là khi tôi ctrl nhấp vào một chức năng, nó nói Could not find symbol in index. Ngoài ra, nút F3 nhấp vào kết quả trong cùng một thông báo lỗi. Trên thực tế hầu hết các nơi nó không hoạt động và hoạt động ở rất ít nơi.

Tôi đã thấy một số phiên bản khác của Eclipse, trong trình đơn Tệp, một mục menu được liệt kê để lập chỉ mục. Giống như File-> Indexer-> Rebuild .... Nhưng trong menu File của tôi không có mục trình đơn như vậy cho Indexer.

Cách duy nhất để sử dụng một số bản phát hành Eclipse khác hoặc thiếu một thứ gì đó? Mọi gợi ý liên quan đến điều này sẽ hữu ích.

+0

Có thể trùng lặp với [Làm sạch Eclipse Index, nó không đồng bộ với mã] (http://stackoverflow.com/questions/3008293/clean-eclipse-index-it-is-out-of-sync-with- code) –

Trả lời

7

Để thêm các đường dẫn chứa mã để phân tích, hãy làm theo các bước sau:
1. Nhấp chuột phải vào dự án
2. Chọn Properties
3. Đến C/C++ chung
4. Đến Đường dẫn và Biểu tượng
5. Nếu đường dẫn bị thiếu, hãy thêm đường dẫn.

Để tái phân tích mã làm theo các bước sau:
1. Nhấp chuột phải vào dự án
2. Chọn Index
3. Rebuild

Nếu điều này không làm việc, sau đó bạn ra khỏi may mắn. C++ là ngôn ngữ rất khó phân tích cú pháp.

11

Trong trường hợp của tôi không có gì đã làm việc và cuối cùng tôi đã làm như sau:

1) Close the project 
2) Delete the project(do not check from disk option) 
3) create new project with existing code(use the deleted project path) 
4) Successfully indexed my c++ code 
+1

Thật không may là giải pháp duy nhất ngay cả với nhật thực MARS mới nhất ... –

+0

Hoạt động hoàn hảo. – Slot

0

Tôi tin rằng bạn có thể xóa các chỉ số bằng cách chạy:

rm .metadata/.plugins/org.eclipse.jdt.core/*.index 

Và sau đó khởi động lại Eclipse. Sau đó nó sẽ xây dựng lại chỉ số của nó.

Điều này làm việc cho tôi trong một dự án Java, nhưng tôi tưởng tượng nó là chỉ mục tương tự cho tất cả các loại dự án (nhiều nhất).

1

Nếu chỉ mục của bạn bị kẹt và bị treo trong thời gian vô hạn, bạn có thể xóa các tệp có liên quan đến chỉ mục của dự án của bạn từ .metadata. Đảm bảo nhật thực không hoạt động trong khi đó.

Thư mục .metadata được đặt làm thư mục ẩn trong đường dẫn vùng làm việc của bạn.

Ở đó bạn có thể điều hướng tới:

<workspace_path>/.metadata/.plugins/org.eclipse.core.runtime/.settings/

Bên trong thư mục .settings/.prefs tập tin mà lưu trữ các sở thích của từng dự án riêng.

Ví dụ: org.eclipse.cdt.core.prj-test-project.prefs cửa hàng các ưu đãi của dự án thử nghiệm dự án

mở tập tin này với soạn thảo văn bản và loại bỏ tất cả các dòng bắt đầu với indexer.Thao tác này sẽ đặt lại cài đặt lập chỉ mục cho dự án cụ thể này về mặc định.

Hoặc, bạn có thể xóa tất cả xóa tất cả các dòng bắt đầu bằng indexer từ org.eclipse.cdt.core.prefs; làm điều này sẽ thiết lập lại các thiết lập chỉ mục cho toàn bộ không gian làm việc.

+0

điều này thực sự đã hoạt động –

0

Bạn có thể thử tạo lại chỉ mục. Nhấp chuột phải vào dự án trong Chế độ xem dự án. Sau đó, Index -> Rebuild.

0

Đây là giải pháp tôi đã sử dụng sau khi Project->C++ Index->Rebuild không thành công. Thủ thuật này tránh xóa dự án hiện tại của bạn:

1) Copy the current project (Right click->Copy from Project Explorer) 
2) Paste it (Right click->Paste from Project Explorer) and give the copy another name 
3) The indexer should now start and index both projects 
4) When indexation is complete, you can delete the copy 

PS: Đảm bảo dự án ban đầu của bạn là một C++ Dự án thực tế hoặc điều này sẽ rõ ràng không hoạt động.

Các vấn đề liên quan