我正在使用Atomineer 7.31 来格式化我的 C++ 文件,但是我在为不同的文件类型创建单独的行为时遇到了麻烦。例如,我想用某些信息填充我的 .cpp 文件,例如包括与该文件同名的 .h 文件,并包括我的内存跟踪器,并且我希望 .h 文件有一个定义守卫和类的基础知识。
我想要的 .h 文件示例:
//! \file ExampleFile.h
//! \brief Declares an ExampleFile
//! Company legal information etc.
#ifndef EXAMPLEFILE_H
#define EXAMPLEFILE_H
class ExampleFile
{
};
#endif // EXAMPLEFILE_H
还有一个我想要的 .cpp 文件示例:
//! \file ExampleFile.cpp
//! \brief Implements ExampleFile
//! Company legal information etc.
#include <ExampleFile.h>
// Memory tracking. Do not include anything beneath this!
#include <debug_new.h>
我希望在空白文件的顶部插入 3 个正斜杠时出现上述每种行为(基于所使用的文件类型)(我相信这是默认的 Atomineer 行为)。我查看了http://www.atomineerutils.com/rulesguide.php以及 Atomineer 中包含的 .xml 文件(File.xml、Namespace.xml、DoxygenTemplates.xml、UserVariables.xml 等),但是我找不到任何迹象表明我是否可以做我需要的事情。
File.xml 中有一个小例子,文件顶部的注释中使用了不同的信息(例如,头文件会说“Declares class xxx”,而 .cpp/.c 文件会说“Implements class xxx”);但我无法模仿这种行为。
我知道可以使用的 %extension% 变量和 < If /> 命令,但我似乎无法得到我想要的。我还尝试以与 File.xml 类似的方式使用 Namespace.xml 文件(File.xml 声明要使用的 %fileDescription% 变量,该变量用于处理文件是否显示“Declares class xxx”或“实现类 xxx"),但我无法让 Namespace.xml 显示任何内容。
File.xml 示例:
<File>
<!-- Rules for generating auto-documentation for file header comments. The results of executing this rule are placed in %fileDescription% when adding file comments. -->
<If extension=".c" desc="" />
<If sNameRaw="I #" desc="Declares the %name% interface" />
<If extension=".h,.hpp" continue="y" desc="Declares the " />
<If extension=".cs,.cpp,.java" continue="y" desc="Implements the " />
<If sName="# dialog,# dialogue" desc="%match:noPrefix:LCase% Dialog" />
<If sName="# form,# window" desc="%match:noPrefix:LCase% Windows Form" />
<Set desc="%sname:noPrefix:LCase% class" />
</File>
然后在 DoxygenTemplates.xml 中使用该信息:
<file>
//! \file %projectpathname%
//! \brief %fileDescription%
//!
//----------------------------------------------------------------------------------------------------------------------
// (c) Copyright 2015 by %company%
//----------------------------------------------------------------------------------------------------------------------
%ip%
</file>
我尝试在 %ip% (输入位置:鼠标光标将出现的位置)上方插入几件事,但无济于事。我觉得问题的一部分可能是我无法让 Namespace.xml 显示任何内容。例如,在 %ip% 上面我放了 %namespaceDescription% 并且我在 Namespace.xml 中有一个简单的 < Set desc="Hi" />,但它没有显示。我将不胜感激任何帮助解决这个问题,谢谢!