2009-02-18 35 views
14

Tôi đang sử dụng Doxygen để tạo tài liệu cho API của chúng tôi, được viết bằng C#. Tuy nhiên, nó cho thấy các thành viên tư nhân/được bảo vệ. Có cách nào để che giấu chúng không?Doxygen: ẩn phương pháp riêng tư/được bảo vệ ... và mẹo

tôi đã tìm ra làm thế nào để ẩn các tập tin: LOẠI TRỪ = Danh sách các tên tập tin

Tuy nhiên, tôi cần thêm chi tiết và do đó người dùng khiên từ tiếng ồn API không cần thiết. Một tệp Doxygen mẫu sẽ được đánh giá cao cũng như các mẹo/thủ thuật.

Bạn sử dụng công cụ nào để tạo API từ mã nguồn?

Tôi cảm thấy phần nào còn lại trong thế kỷ 18 khi tôi sử dụng Doxygen trong C# bằng cách sử dụng C++.

+0

Nếu doxygen chỉ có nghĩa là tạo tài liệu API tốt, tôi sẽ sử dụng [Sandcastle/SHFB] (https://github.com/EWSoftware/SHFB) hoặc [DocFX] (https: //dotnet.github. io/docfx /) thay vào đó. Khi tôi xem xét doxygen cho C# khoảng một thập kỷ trước, tôi đã không thấy nó thích ứng với các tính năng ngôn ngữ mới nhanh như chúng tôi đã điều chỉnh chúng trong mã sản xuất của chúng tôi vì vậy chúng tôi đã đi với Sandcastle. – mbx

Trả lời

17

Tôi không biết C# được Doxygen hỗ trợ tốt như thế nào.

Đối giấu thành viên tư nhân, bạn thay đổi Doxyfile tập tin cấu hình như sau:

EXTRACT_PRIVATE  = YES 

Nhiều tùy chọn khác có thể được thiết lập cho các loại chiết xuất/ẩn các yếu tố mã, ví dụ, với lý do Doxyfile bản thân:

# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
# documentation are documented, even if no documentation was available. 
# Private class members and static file members will be hidden unless 
# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES 

EXTRACT_ALL   = YES 

# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
# will be included in the documentation. 

EXTRACT_PRIVATE  = YES 

# If the EXTRACT_STATIC tag is set to YES all static members of a file 
# will be included in the documentation. 

EXTRACT_STATIC   = YES 

# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
# defined locally in source files will be included in the documentation. 
# If set to NO only classes defined in header files are included. 

EXTRACT_LOCAL_CLASSES = YES 

# This flag is only useful for Objective-C code. When set to YES local 
# methods, which are defined in the implementation section but not in 
# the interface are included in the documentation. 
# If set to NO (the default) only methods in the interface are included. 

EXTRACT_LOCAL_METHODS = YES 

# If this flag is set to YES, the members of anonymous namespaces will be 
# extracted and appear in the documentation as a namespace called 
# 'anonymous_namespace{file}', where file will be replaced with the base 
# name of the file that contains the anonymous namespace. By default 
# anonymous namespace are hidden. 

EXTRACT_ANON_NSPACES = NO 

# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
# undocumented members of documented classes, files or namespaces. 
# If set to NO (the default) these members will be included in the 
# various overviews, but no documentation section is generated. 
# This option has no effect if EXTRACT_ALL is enabled. 

HIDE_UNDOC_MEMBERS  = NO 

# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
# undocumented classes that are normally visible in the class hierarchy. 
# If set to NO (the default) these classes will be included in the various 
# overviews. This option has no effect if EXTRACT_ALL is enabled. 

HIDE_UNDOC_CLASSES  = NO 

# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
# friend (class|struct|union) declarations. 
# If set to NO (the default) these declarations will be included in the 
# documentation. 

HIDE_FRIEND_COMPOUNDS = NO 
3

Một vài khả năng, từ số Doxygen manual:

HIDE_UNDOC_MEMBERS, HIDE_UNDOC_ LỚP: Rõ ràng chỉ hoạt động nếu bạn chỉ ghi lại các thành viên công khai.

INTERNAL_DOCS: Cho phép bạn sử dụng đánh dấu \ nội bộ để loại trừ nhận xét khỏi phiên bản "công khai" của tài liệu.

ENABLED_SECTIONS: Are phiên bản tổng quát hơn của INTERNAL_DOCS

13

Check-out cờ @cond cho doxygen. Trong C# Tôi giấu một số thành viên mã hóa mật khẩu của chúng tôi như thế này:

//! @cond 
    private const String ENCRYPTEDFLAG = "xxxENCFLAGxxx"; 
    private const String SEED = "[email protected]_seed"; 
    //! @endcond 

Các tài liệu doxygen sẽ có bạn tin rằng bạn cần một biểu tượng có điều kiện được xác định để Doxygen và sử dụng trên dòng @cond, nhưng điều đó không làm việc cho tôi. Phương pháp này đã làm.

8

này làm việc cho tôi, để che giấu khối lớn của mã và tài liệu hướng dẫn:

/*! \cond PRIVATE */ 
<here goes private documented source code> 
/*! \endcond */ 

Run với ENABLED_SECTIONS = PRIVATE để tạo ra phiên bản nội bộ của bạn trong các tài liệu. Bạn có thể có một số điều kiện và bật/tắt chúng theo đối tượng.

Để ẩn chỉ là một phần của một khối tài liệu, sử dụng \internal (sẽ ẩn cho đến khi kết thúc của khối trừ \endinternal được tìm thấy)


Lưu ý: bạn có thể sử dụng @ ký hiệu nếu bạn thích nó hơn backslashes.

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