Gần đây tôi đã dùng thử KDevelop. Nó tìm kiếm các ký hiệu (biến, tên hàm, lớp, cấu trúc...) ngữ nghĩa-hoàn thành-tự chèn
hoặc M-Ret
Nhanh hơn nhiều (ngay lập tức). sử dụng M-Ret
Nhanh hơn, nhưng nó không có định dạng đẹp như các IDE khác, nhưng giống như Từ con số không >
Một định dạng vô nghĩa như vậy. Trong emacs, tôi phải đợi ít nhất ~ 1 giây và trong nhiều trường hợp, đợi CEDET tìm tất cả các tệp nguồn có liên quan đi kèm, việc này mất nhiều thời gian.
tôi đã sử dụngtự động hoàn thành tiếng kêu
, nhưng dường như không có sự cải thiện về tốc độ. Tại sao lại như vậy :(? Tôi yêu thích Emacs và đã sử dụng nó cho C/C++ của mình gần một năm trước khi tôi phát hiện ra KDevelop, nhưng sử dụng Emacs có nghĩa là việc hoàn thành mã sẽ không đáng kể và là tùy chọn?
Câu trả lời đơn giản nhất cho vấn đề này có lẽ là DUChain và trình phân tích cú pháp của KDevelop được viết bằng (tôi giả sử) C++, với cách quản lý mã thông báo được xây dựng tương tự. Trình phân tích cú pháp của CEDET có trong Emacs Lisp, cũng như cơ sở dữ liệu và tra cứu. Mặc dù một số bảng được tạo và lưu vào bộ nhớ đệm giữa các lệnh gọi đến công cụ hoàn thiện trong Emacs, nhưng chúng thường được xây dựng lại dưới dạng thay đổi mã (do đầu vào). Sau khi tất cả các bảng được xây dựng, công cụ hoàn thành CEDET có thể rất nhanh.
Tôi đã chạy rất nhiều hồ sơ khi hoàn thành mã để tăng tốc mọi thứ và sau khi đọc một chút về duchain, có vẻ như KDevelop có một bảng ký hiệu chính cho toàn bộ dự án. CEDET không thể thực hiện việc này vì không phải tất cả các tệp đều nằm trong một dự án, vì vậy cần tạo một bảng tạm thời cho mỗi tệp. Tôi đã biết về điều này từ lâu, nhưng chưa bao giờ đưa cơ sở dữ liệu ký hiệu cho CEDET ra bên ngoài để một bảng như vậy có thể được xây dựng và duy trì trong một luồng (quy trình) riêng biệt.
Tôi là một lập trình viên xuất sắc, rất giỏi!