2013-10-16 17 views
5

Thỉnh thoảng khi bạn viết một chương trình, bạn cần tham khảo một phần khác hoặc chức năng trong phần bình luận. Ví dụ trong đoạn code dưới đây tôi có thể đặt hai neo "workaround1" và "workaround2" (trong một tệp khác) trong các chú thích và ghi chú về hàm ABC với các tham chiếu đến các chú thích có liên quan.Tham chiếu chéo trong các bình luận mã nguồn

// this part does <<workaround1>> 
a = 1; 
a++; 
... 

// [[workaround1]] and [[file:c.java::workaround2][2]] can be removed once ABC is fixed 
c = ABC(); 

Tôi có hai câu hỏi:

  1. Có thực hành tốt nhất để tham khảo như vậy? Làm thế nào lập trình viên chuyên nghiệp đối phó với nó?
  2. Có gói nào dành cho emacs có thể tạo điều kiện chuyển hướng thông qua nhận xét mã nguồn với ghi chú như vậy không? Tôi đã suy nghĩ về phần mở rộng chế độ org với có thể làm việc trên đầu trang (tốt hơn là bất kỳ) chế độ ngôn ngữ.

Tôi biết về câu hỏi tương tự như trên Redmine: Can I create a cross-project source reference in redmine?

Trả lời

3

Không có nghi ngờ phương pháp tiếp cận khác nhau có sẵn. Ai đó có thể sẽ mô tả cách sử dụng org-mode cho điều này, đây có lẽ là cách tiếp cận phổ biến nhất. Cá nhân, tôi sử dụng linkd.el - đơn giản. Bạn có thể lấy nó here.

Tôi sử dụng nó trong các tệp Emacs-Lisp, nhưng bạn có thể sử dụng nó trong bất kỳ tệp văn bản nào.

Một tiêu đề, hoặc tên địa điểm trông giống như văn bản như đồng bằng này:

 
     ;; (@* "Common helper functions") 

Đó là cho Lisp, nơi ; bắt đầu nhận xét. Trong trường hợp của bạn, bạn sẽ sử dụng //, tôi tin.

Một liên kết đến nó từ cùng một tập tin trông như thế này:

 
     ;; (@> "Common helper functions") 

Một liên kết đến nó từ một tập tin khác nhau trông như thế này:

 
     ;; (@file :file-name "foo.el" :to "Common helper functions") 

Nhưng họ được trả lại sử dụng làm nổi bật, và không có các ký tự không liên quan.

Một địa điểm trông như thế này (nhưng đánh dấu):

 
     * Common helper functions 

Một cùng tập tin liên kết trông như thế này (nhưng nhấn mạnh như một liên kết Emacs, và với mouseover làm nổi bật):

 
     > Common helper functions 

Liên kết tệp khác trông như thế này (nhưng được đánh dấu là liên kết, với di chuột qua):

 
     . foo.el : Common helper functions 
+0

hỗ trợ lại ferences đến các tập tin khác? Nó không phải là khá rõ ràng từ mô tả trong gói. – zeliboba

+0

Có, và tôi đã đưa ra một ví dụ về điều đó ở trên: '(@file: file-name" foo.el ": thành" Các hàm trợ giúp chung ")'. – Drew

+0

Xem thêm [LinkdMode] (http://www.emacswiki.org/emacs/LinkdMode) và, đối với một số tùy chọn khác, [CategoryNavigation] (http://www.emacswiki.org/emacs/CategoryNavigation). Các thay thế chính có vẻ như WikiNav, được phân phối với [button-lock] (https://github.com/rolandwalker/button-lock) – phils

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