velocity - 使用 Telosys 生成单个文件
问题描述
你好吗?我正在学习如何使用 Telosys 为 Arduino 制作代码生成器,我想知道是否有办法为我的 DSL 中的所有实体创建一个文件。例如,我有 .entity 文件“Cars”和“Drivers”,它们在我生成代码时会生成两个 .txt 文件。有没有办法在一个文本文件中为两个 .entity 文件生成代码?
解决方案
是的,这是可能的,而且很容易。在您的“.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
推荐阅读
- python - Numpy数组没有重塑
- angular - TypeError:pna.nextTick 不是函数
- ruby-on-rails - 如何更改 Rails 5.2 url_for 超时
- c++ - Oracle 12.2 导致 Proc*C 应用程序崩溃
- python - 使用 linux 或 python 从文件中提取特定的列和字符串
- python - 如何调整 PlotWidget 的高度?
- python - 如何从集群实现 sklearn -AgglomerativeClustering?
- android - 如何将活动注入另一个类
- php - Laravel 控制器 DI
- python - Python Selenium Chrome 驱动程序在启动浏览器后没有输入 url