2009-02-11 32 views
36

Tôi đang cố gắng tìm hiểu xem có cách nào để tạo thẻ tùy chỉnh bằng Doxygen hay không. Tôi đã tìm thấy tùy chọn tập tin cấu hình ALIAS nhưng điều đó không làm chính xác những gì tôi cần. Về cơ bản trong mã của tôi, tôi muốn để có thể viết một cái gì đó giống nhưThẻ tùy chỉnh với Doxygen

/// \req Requirement #322 - blah blah 

Và sau đó có Doxygen tạo một danh sách như nó cho \bug\todo lệnh cho các dây chuyền có thẻ tùy chỉnh này. Điều này có thể xảy ra với Doxygen không?

+0

Điều này dường như không hoạt động với kiểu tài liệu XML (C#). –

Trả lời

42

Việc khái quát hóa \bug\todo\xrefitem.

Giải pháp tôi đề nghị là:

  • trong Doxyfile:

    ALIASES += "req=\xrefitem req \"Requirement\" \"Requirements\" " 
    
  • trong mã tài liệu:

    /// \req #42 - The system shall work in any situation 
    
+0

Tuyệt vời, tôi không thấy điều đó khi xem hướng dẫn sử dụng. Cảm ơn một nhóm. – RishiD

19

Cảm ơn mouviciel! Tôi đã áp dụng giải pháp của bạn và mở rộng nó cho mục đích của tôi.

Các văn bản dưới đây đi vào Doxyfile tôi:

ALIASES += req{1}="\ref SRTX_\1 \"SRTX-\1\" " 
ALIASES += satisfy{1}="\xrefitem satisfy \"Satisfies requirement\" \"Requirement Implementation\" \1" 
ALIASES += verify{1}="\xrefitem verify \"Verifies requirement\" \"Requirement Verification\" \1" 

đâu SRTX là tên của dự án của tôi và được sử dụng như một tiền tố để yêu cầu.

Sau đó, tôi tạo tệp có tên Require.dox cung cấp liên kết giữa id yêu cầu và URL cho yêu cầu trong công cụ quản lý yêu cầu của tôi (trình theo dõi vấn đề trong trường hợp của tôi).

/** 
@page Requirements 

@section Build1 

@anchor SRTX_1113 
<a href="https://foo.bar.com/mantis/view.php?id=1113">SRTX-1113</a> 

@anchor SRTX_1114 
<a href="https://foo.bar.com/mantis/view.php?id=1114">SRTX-1114</a> 

*/ 

Bạn cũng có thể đặt văn bản yêu cầu trong thẻ neo nếu bạn không cần liên kết với nguồn bên ngoài.

Trong mã của tôi, tôi có:

/** 
* This is the basic executive that schedules processes. 
* @satisfy{@req{1114}} 
*/ 
class Scheduler: public Process 
{ 
    ... 
} 

Và trong các thử nghiệm của tôi, tôi đặt:

/** 
* Provide a number of tests for process scheduling. 
* @verify{@req{1114}} 
*/ 
class Scheduler_ut : public CppUnit::TestFixture 
{ 
    ... 
} 

này mang lại cho tôi những trang liên quan cho yêu cầu, yêu cầu thực hiện, và các yêu cầu xác minh. Nó cũng cung cấp các yêu cầu Thỏa mãn và Xác minh các phần yêu cầu trong mô tả lớp (hoặc chức năng - bất cứ nơi nào bạn đặt thẻ).

+0

Thêm 'Requirements.dox' được chỉ định ở trên trong biến' INPUT = 'để có thể xem các liên kết, trong trang" Yêu cầu triển khai "và" Yêu cầu xác minh ". – parasrish

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