CLion 新 C++ Class 文件模板
CLion new C++ Class file template
CLion 具有生成 C++ 的文件模板 Class,它生成源文件和 header。在我的项目中,我有处理程序 classes 具有相同的代码部分,我想通过文件模板生成它们。我创建的模板无法执行此操作:
设置文件名 class MyHandlerClass 我想要 my_handler_class.cpp 和 .hpp
我想从一个class名称生成2个文件header和源代码,不知道该怎么做。
- 我也想要像 MyClass -> my-class 这样的字符串,找到函数
$lowercaseAndDash($NAME)
但不知道为什么它不起作用
我有 header 的模板:
#pragma once
// includes
namespace handlers {
class ${NAME}: public Parent {
public:
// methods
};
}
我试图通过像这样设置文件名来解决第一个问题:#set ($FILE_NAME = "test_class.hpp")
。但是我不知道将 CamelCase 设置为 snake 很热,而且这不起作用。
也在 docs 函数中找到蛇形大小写,但它在文件模板中对我不起作用。
无法从模板更改文件名。创建 C++ Class 时,设置 class 名称 和 select 文件名编码。当您从模板创建文件 时,它会使用您的文件名 保存文件。我通过这种方式找到了解决方案,输入 file_name(蛇形),然后使用 Velocity create CamelCaseName for class name:
#set( $CamelCaseName = "" )
#set( $part = "" )
#foreach($part in $NAME.split("_"))
#set( $CamelCaseName = "${CamelCaseName}$part.substring(0,1).toUpperCase()$part.substring(1).toLowerCase()" )
#end
不可能像 C++ Class 模板那样一次点击生成 2 个文件。我必须模板,并同时使用它们。
此函数用于 liveTemplates,对于 FileTemplate,我使用了速度:#set( $NeededString = $NAME.replaceAll('_', '-') )
要包含来自 cpp 的头文件,请使用 #[[#include]]# "${NAME}.hpp"
CLion 具有生成 C++ 的文件模板 Class,它生成源文件和 header。在我的项目中,我有处理程序 classes 具有相同的代码部分,我想通过文件模板生成它们。我创建的模板无法执行此操作:
设置文件名 class MyHandlerClass 我想要 my_handler_class.cpp 和 .hpp
我想从一个class名称生成2个文件header和源代码,不知道该怎么做。
- 我也想要像 MyClass -> my-class 这样的字符串,找到函数
$lowercaseAndDash($NAME)
但不知道为什么它不起作用
我有 header 的模板:
#pragma once
// includes
namespace handlers {
class ${NAME}: public Parent {
public:
// methods
};
}
我试图通过像这样设置文件名来解决第一个问题:#set ($FILE_NAME = "test_class.hpp")
。但是我不知道将 CamelCase 设置为 snake 很热,而且这不起作用。
也在 docs 函数中找到蛇形大小写,但它在文件模板中对我不起作用。
无法从模板更改文件名。创建 C++ Class 时,设置 class 名称 和 select 文件名编码。当您从模板创建文件 时,它会使用您的文件名 保存文件。我通过这种方式找到了解决方案,输入 file_name(蛇形),然后使用 Velocity create CamelCaseName for class name:
#set( $CamelCaseName = "" )
#set( $part = "" )
#foreach($part in $NAME.split("_"))
#set( $CamelCaseName = "${CamelCaseName}$part.substring(0,1).toUpperCase()$part.substring(1).toLowerCase()" )
#end
不可能像 C++ Class 模板那样一次点击生成 2 个文件。我必须模板,并同时使用它们。
此函数用于 liveTemplates,对于 FileTemplate,我使用了速度:
#set( $NeededString = $NAME.replaceAll('_', '-') )
要包含来自 cpp 的头文件,请使用
#[[#include]]# "${NAME}.hpp"