2010-03-24 51 views
7

Tôi là một nhà phát triển Java và tôi đã tải xuống Eclipse cho C (mục đích khóa học) và sự ngạc nhiên của tôi về phím tắt control + space (để tự động hoàn thành) không hoạt động. Tôi đã tạo ra một dự án mới và một lớp mới bằng cách sử dụng các wizzards và bắt đầu nhập "print" và sau đó cố gắng tìm một tính năng tự động hoàn thành. Sau một chút googling, tôi đã đến số C/C++ ->Editor ->Content Assist ->Advanced và ở đó tôi đã xác minh rằng Help proposals, Parsing-based proposalsTemplate proposals tùy chọn đã được chọn. Sau đó, tôi đã truy cập trang tuỳ chọn Keys bằng cách sử dụng liên kết tại trang đó và nhập ràng buộc cho tất cả nội dung có liên quan hỗ trợ từ trước C\C++ Content Assist (type...) và chọn trong hộp When tuỳ chọn C\C++ Editor. Nhưng không có tự động hoàn thành được cung cấp. Có thể ai đó vui lòng chỉ cho tôi đúng hướng không?Tự động hoàn thành mã C trong Eclipse

CẬP NHẬT: Tôi chấp nhận câu trả lời không phải vì tôi chắc chắn điều đó đúng, nhưng vì tôi đã nhận ra mình đã mắc sai lầm với cấu hình nhật thực và đã thấy điều đó với cài đặt/cấu hình khác (tức là một người bạn của mỏ) eclipse tự động hoàn thành, ngay cả khi nó vẫn thiếu nhiều tính năng phiên bản java.

+0

Xin chào, tôi có vấn đề này quá nhưng Ittai không ment ion chính xác những gì sai lầm anh ta đã làm. – badp

+0

@badp Tôi đã đăng câu trả lời xác định những gì tôi đã làm – Ittai

+0

Bạn nên chấp nhận câu trả lời của bạn không phải là câu trả lời và nhận xét rằng nó không hoạt động !!!!! –

Trả lời

5

Mặc dù nhật thực không cung cấp hoàn toàn tự động hoàn thành, nhưng nó hoạt động .. Điều này đôi khi xảy ra khi bạn tắt trình lập chỉ mục.

Hãy thử bật trình chỉ mục và xây dựng lại chỉ mục.

Xem câu hỏi này trong CDT FAQ. Nó chứa thông tin về cách tìm lỗi lập chỉ mục có thể ngăn tự động hoàn thành.

+1

Đã thử nó, nhưng tiếc là nó không hoạt động, mặc dù – Ittai

0

Tôi không có chuyên gia Eclipse (và thậm chí tôi không chơi trên TV), nhưng có thể nó chỉ tự động hoàn thành các tên hàm được khai báo trong phạm vi hiện tại - bạn đã thêm #include <stdio.h> vào đầu tệp nguồn để nhận các khai báo cho các hàm I/O tiêu chuẩn?

0


Bạn nên xác minh rằng bạn có nhà gcc (nghĩa là C: \ MinGW-4.4.1 \ bin) được xác định trong biến môi trường đường dẫn (nếu bạn đang sử dụng cửa sổ và nếu không thì nó tương đương). Đồng thời xác minh rằng tệp có đuôi hậu tố .c và trình đánh chỉ mục được bật như bạn đã nói. Tôi nghĩ rằng, không chắc chắn, rằng bạn cần phải sau đó chạy nhật thực với cờ -clean và autocomplete sẽ làm việc.

Ittai

-2

Vim cung cấp chức năng này bằng cách quét # của bạn bao gồm của (các phím tắt là Ctrl-N, hoặc Ctrl-P để tìm kiếm ngược). Nếu bạn không thể tìm thấy giải pháp nào tốt hơn, một phương án cuối cùng có thể xem xét eclim, tích hợp các tính năng vim vào Eclipse (hoặc ngược lại), và đó chắc chắn sẽ cung cấp tính năng này.

5

Sử dụng bảng Nâng cao trong cửa sổ Tùy chọn để định cấu hình hành vi của lệnh Hỗ trợ nội dung (Ctrl + Space).
Đi tới Tùy chọn-> C/C++ -> Trình soạn thảo-> Hỗ trợ nội dung-> Nâng cao.
Kiểm tra phân tích dựa trên đề xuất trong các loại Đề xuất mặc định.

+1

đây là giải pháp tôi cần. Cảm ơn rất nhiều! – 0x6d64

0

tôi đã trả lời nó ở đây: Eclipse: How to add include path to be used by autocompletion

Bạn phải nói rõ ràng nó ở đâu để tìm thấy những tiêu đề:

⇒ Nhấp chuột phải vào dự án của bạn
⇒ vào 'C/C++ Bao gồm Paths và Ký hiệu '
⇒ chọn' Thêm Đường dẫn Bao gồm Bên ngoài ... '
⇒ duyệt đến vị trí của tệp tiêu đề của bạn
⇒ làm mới

-1

Có thể nó liên quan đến các ràng buộc KeyAssist.

Nếu bạn đã thử với nội dung hỗ trợ:

Nhập vào Window> Preferences. Menu "General" -> "Keys"

Bên trong tìm kiếm "Template" và thiết lập:

chính Binding để -> "Ctrl + Space"

Thời gian: "Editing test"

ảnh helper Image Menu Key Assist Code Complete

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