Tôi đã tự hỏi làm thế nào mọi người sử dụng thẻ trong emacs khi làm việc trên một codebase lớn (khoảng 50000 cpp | .h | .cs tập tin). Một số đồng nghiệp của tôi sử dụng các công cụ lập chỉ mục (các tên thoát khỏi tôi) trả về tất cả các kết quả trên codebase tính bằng giây. Tôi dường như không thể đạt được bất kỳ nơi nào gần với hiệu suất đó trên các emacs và các thẻ, nhưng về cơ bản nó giống nhau!Tags trong emacs với một codebase lớn
Một số phương pháp tôi đã cố gắng:
- Tạo một file TAGS cho toàn bộ kho lưu trữ. Điều này thường khá lớn và thường khó xử khi sử dụng (đôi khi quá nhiều thẻ khớp).
- Tạo các tệp TAGS riêng biệt cho cpp | h | cs. Một chút tập trung hơn nếu tôi biết (khoảng (ít nhất là ngôn ngữ lập trình sẽ được sử dụng)) những gì tôi xảy ra để được tìm kiếm.
- Các tệp thẻ nhỏ hơn trên một phần của kho lưu trữ. Đây là tuyệt vời khi tôi khá chắc chắn của khu vực nhưng chi phí quản lý là một nỗi đau. Tôi thường sẽ tạo ra chúng như và khi cần thiết.
Mọi đề xuất \ ví dụ về quy trình công việc của bạn được đánh giá cao.
Tệp thẻ là tập tin liệt kê tệp văn bản (chưa được lập chỉ mục). Nó là một chỉ mục của mã của bạn, nhưng để tìm một mã định danh trong nó, bạn cần phải đi qua tệp đến điểm đó. Một công cụ lập chỉ mục sử dụng một cơ sở dữ liệu thực với một chỉ mục (vào chính các thẻ) sẽ dễ dàng đánh bại điều đó. Thẻ của bạn lớn như thế nào? – Ken
Điểm tốt - đã không nhận ra điều đó. Bất kỳ đề xuất nào về cách đặt thẻ emacs + tốt hơn một chút? Tập tin thẻ của tôi là khoảng 30 megs – cristobalito
Trải nghiệm của tôi với các thẻ không phải là rất rộng rãi, xin lỗi - không bao giờ sử dụng nó trên một dự án lớn. Cá nhân, tại thời điểm đó tôi có lẽ sẽ nhìn vào hooking một công cụ tìm kiếm mã vào Emacs. Ví dụ, Beagle có thể lập chỉ mục các tệp C++/C#, sẽ cập nhật chỉ mục của nó bất cứ khi nào bạn lưu, trả về kết quả nhanh chóng và có ít nhất một giao diện Emacs (nguyên thủy) cho nó. Nó không được thiết kế đặc biệt cho mã nguồn, vì vậy, nó có thể cần một số tinh chỉnh để làm việc tốt như là một thay thế thẻ. Chúc may mắn với bất cứ điều gì bạn kết thúc với! – Ken