从 sphinx 文档中提取 C++ 代码片段
Extracting a C++ code snippet in a sphinx document
我正在尝试从我的源代码中提取特定代码片段(测试)以将其输出到文档中。
TEST_CASE("std::vector") {
//! [MyTest]
std::vector<int> v = {42,43};
CHECK( v.size() == 2 );
//! [MyTest]
}
在 doxygen 中,我可以通过 \snippet
命令引用它。
现在,我想将片段中的代码直接显示到 sphinx 文档中
You can create a std::vector just like this:
INSERT THE CODE BETWEEN [MyTest] MARKERS HERE
The std::vector class automatically allocates memory for you
我该怎么做?我没有在呼吸中找到任何 doxygensnippet
指令。
注意:我不介意 sphinx 使用任何类型的标签直接为我提取代码,我不需要兼容 doxygen。
感谢@Steve_Piercy,我能够找到我想要的东西:将 literalinclude
指令与 start-after
和 end-before
一起使用。
TEST_CASE("std::vector") {
//! [MyTest begin]
std::vector<int> v = {42,43};
CHECK( v.size() == 2 );
//! [MyTest end]
}
文档文件:
You can create a std::vector just like this:
.. literalinclude:: my_test_file.cpp
:start-after: MyTest begin
:end-before: MyTest end
The std::vector class automatically allocates memory for you
我正在尝试从我的源代码中提取特定代码片段(测试)以将其输出到文档中。
TEST_CASE("std::vector") {
//! [MyTest]
std::vector<int> v = {42,43};
CHECK( v.size() == 2 );
//! [MyTest]
}
在 doxygen 中,我可以通过 \snippet
命令引用它。
现在,我想将片段中的代码直接显示到 sphinx 文档中
You can create a std::vector just like this:
INSERT THE CODE BETWEEN [MyTest] MARKERS HERE
The std::vector class automatically allocates memory for you
我该怎么做?我没有在呼吸中找到任何 doxygensnippet
指令。
注意:我不介意 sphinx 使用任何类型的标签直接为我提取代码,我不需要兼容 doxygen。
感谢@Steve_Piercy,我能够找到我想要的东西:将 literalinclude
指令与 start-after
和 end-before
一起使用。
TEST_CASE("std::vector") {
//! [MyTest begin]
std::vector<int> v = {42,43};
CHECK( v.size() == 2 );
//! [MyTest end]
}
文档文件:
You can create a std::vector just like this:
.. literalinclude:: my_test_file.cpp
:start-after: MyTest begin
:end-before: MyTest end
The std::vector class automatically allocates memory for you