首页 > 解决方案 > 使用 Telosys 生成单个文件

问题描述

你好吗?我正在学习如何使用 Telosys 为 Arduino 制作代码生成器,我想知道是否有办法为我的 DSL 中的所有实体创建一个文件。例如,我有 .entity 文件“Cars”和“Drivers”,它们在我生成代码时会生成两个 .txt 文件。有没有办法在一个文本文件中为两个 .entity 文件生成代码?

标签: velocitytelosys

解决方案


是的,这是可能的,而且很容易。在您的“.vm”文件中,您只需使用以下实体列表对模型中定义的每个实体进行迭代:“ $model.allEntites ”或“ $selectedEntities ”(参见模板文档:https://www.telosys. org/templates-doc/objects/model.html )

这是一个例子:

All entities :
#foreach( $entity in $model.allEntites )
 . $entity.name : $entity.attributesCount attributes
#end

“数据库文档”是使用这种生成的一组模板。请参阅捆绑包中的“database_tables_list.vm” https://github.com/telosys-templates-v3/database-doc-T300

不要忘记在“ templates.cfg ”文件中将这个“.vm”文件的“代数”设置为“ 1 ” ,以便只生成一次

“数据库文档”包中的示例(行尾的“ 1 ”):

Database tables list (HTML) ; database.html ; dbdoc ; database_tables_list.vm  ; 1

对于您的文本文件:

My global text file ; global.txt ; myfolder ; mytemplate.vm  ; 1

推荐阅读