您可以通過指定使用INPUT_FILTER
選項的過濾器腳本/程序預處理源文件。然後,通過設置FILTER_SOURCE_FILE = YES
,過濾後的源代碼將在源瀏覽器中使用,而不是原始源代碼。
從文檔:
的INPUT_FILTER標籤可以用於指定Doxygen的應該調用來過濾每個輸入文件的程序。 Doxygen的將通過執行(通過POPEN())的命令來調用所述過濾程序:
<filter> <input-file>
其中是INPUT_FILTER標記的值,並且是輸入文件的名稱。然後Doxygen將使用過濾器程序寫入標準輸出的輸出。
和
如果FILTER_SOURCE_FILES標籤被設置爲YES,輸入濾波器(如果使用INPUT_FILTER設定)也將被使用,以過濾用於製備源文件瀏覽輸入文件(即當SOURCE_BROWSER設置爲YES時)。
作爲粗例如,使用下面的源(在相同的位置的Doxyfile保存爲filter.py
,和由可執行文件):
#!/usr/bin/env python
import fileinput, re
# output all lines that does not start with // (but allow //!)
for line in fileinput.input():
if not re.match(r'\s*//(?![!])', line):
print line,
和的Doxyfile,設置:
INPUT_FILTER = ./filter.py
FILTER_SOURCE_FILE = YES
輸出源碼的瀏覽器現在將只顯示不//
啓動線。
當然,創建一個過濾器腳本,丟棄除了與doxygen相關的所有C風格的註釋之外,會比上面顯示的更復雜。
非常感謝。這是完美的。 –
不客氣。很高興我能幫上忙。 –