CLion教程-文件模板变量
文件模板可以包含变量,模板应用时会将这些变量替换为它们的值。变量是以美元符号 $
开头,后跟变量名称的字符串。变量名称可以选择性地用花括号括起来。例如:$MyVariable
和 ${MyVariable}
是同一个变量的不同表示法。
预定义和自定义变量在模板主体和文件名中都可用。例如,如果在模板的文件名字段中键入 MyFile_${MONTH_NAME_FULL}
,则在四月份创建它时,生成的文件将被命名为 MyFile_April
。在这里,${MONTH_NAME_FULL}
是一个预定义变量。如果使用自定义变量,CLion 将在基于此模板创建文件时提示您输入变量值。
预定义模板变量
以下预定义变量可在文件模板中使用:
变量 | 描述 |
---|---|
${CALL_SUPER} | 在生成重写时的基本函数调用签名 |
${DATE} | 当前系统日期 |
${DAY} | 当前日期的天数 |
${DEFAULT_RETURN_VALUE} | 函数的默认返回值 |
${DIR_PATH} | 新文件所在目录的路径(相对于项目根目录) |
${DS} | 美元符号 $ 。此变量用于转义美元字符,以便不将其视为模板变量的前缀。 |
${FILE_NAME} | 新 C 或 C++ 文件的名称 |
${HEADER_COMMENTS} | 始终返回 true ,用于测试目的 |
${HEADER_FILENAME} | 为类或源文件生成的头文件名称 |
${HOUR} | 当前小时 |
${INCLUDE_GUARD} | 防止重复包含特定头文件 |
${MINUTE} | 当前分钟 |
${SECOND} | 当前秒数 |
${MONTH} | 当前月份 |
${MONTH_NAME_FULL} | 当前月份的全名(一月、二月等) |
${MONTH_NAME_SHORT} | 当前月份名称的前三个字母(一月、二月等) |
${NAME} | 新实体的名称(文件、%class%、接口等) |
${NAMESPACE_CLOSE} | 重构期间创建的命名空间块的结束 |
${NAMESPACE_OPEN} | 重构期间创建的命名空间块的开始 |
${PRODUCT_NAME} | IDE 的名称(例如,CLion) |
${PROJECT_NAME} | 当前项目的名称 |
${RETURN_TYPE} | 函数的返回值类型(用于生成新函数) |
${SUIT_NAME} | Google 测试套件名称 |
${TEST_NAME} | Google 测试名称 |
${TIME} | 当前系统时间 |
${USER} | 当前用户的登录名(所有平台) |
${USER_NAME} | 对于 Windows 和 Linux:当前用户的登录名对于 macOS:用户的注册全名 |
${YEAR} | 当前年份 |
以下变量可在CMakeLists.txt 文件模板中使用:
变量 | |
---|---|
${CMAKE_DEFAULT_PROJECT_FILE} | 项目的 main.cpp/main.c/libary.cpp/library.c 文件。 |
${CMAKE_LANGUAGE_VERSION} | 选择的语言标准。 |
${CMAKE_MAJOR_VERSION} | 最低支持的 CMake 版本的主要号码。例如,如果版本为 3.20 ,此变量对应于 3 。 |
${CMAKE_MINOR_VERSION} | 最低支持的 CMake 版本的次要号码。例如,如果版本为 3.20 ,此变量对应于 20 。 |
${CMAKE_LIBRARY_TYPE} | 共享库的类型。 |
${QT_VERSION} | 选择的 Qt 版本。 |
${REQUIRED_LIBS} | 所选项目类型所需的 Qt 库。默认情况下,Qt 控制台可执行文件为 Core ,Qt 小部件可执行文件为 Core 、Gui 、Widgets 。 |
自定义模板变量
除了预定义的模板变量,还可以指定自定义变量。如果需要,您可以在模板中使用 #set
指令来定义自定义变量的值。在使用相应的变量之前编写该指令。
例如,如果要使用您的全名,而不是通过预定义变量 ${USER}
定义的登录名,则在自定义变量之前添加以下结构:
#set( $MyName = "John Smith" )
如果模板中未定义变量的值,CLion 将在应用模板时提示您指定它。