Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

生成任务功能设计 #14

Open
2 tasks done
niltor opened this issue Oct 19, 2024 · 0 comments
Open
2 tasks done

生成任务功能设计 #14

niltor opened this issue Oct 19, 2024 · 0 comments
Assignees
Labels
plan plan or change plan
Milestone

Comments

@niltor
Copy link
Contributor

niltor commented Oct 19, 2024

目标

使用更灵活的方式,自定义生成内容,变得更加通用。

变更

  • 添加项目时,除了.NET和Node,其他当成Else类型,以便可以使用通用的功能。
  • .NET支持新的.slnx的判断

设计

通过生成任务生成步骤来实现代码生成。 它们是多对多的关系。

生成操作(GenAction) 📝

表示任务的基本信息,如名称与描述

  • Model路径:实体或模型的路径,根据来源类型下拉选择。
  • 变量:定义变量和值,在任务所有步骤中可读取并使用,如定义NamespaceAter
    • 模板会使用Razor渲染,模板内容以@Model.Namespace表示.
    • 命令或脚本中,以${Namespace}表示.
  • 生成步骤:任务包含的步骤

生成步骤(GenStep) 📝

  • 生成类型:基于模板的代码生成/运行命令(多行)/运行脚本(提供脚本路径)
  • 路径:模板路径/脚本路径
  • 内容:模板内容/命令行内容
  • 输出路径:生成内容的输出路径,包含完成文件名称路径。支持变量及特定函数(命名格式)。

基于模板的代码生成

模板遵循Razor格式,通过变量进行替换,然后输出。

路径仅支持相对路径(相对项目根目录).

@niltor niltor self-assigned this Oct 19, 2024
@niltor niltor added the plan plan or change plan label Oct 19, 2024
@niltor niltor added this to the 9.0 milestone Oct 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
plan plan or change plan
Projects
None yet
Development

No branches or pull requests

1 participant