写点什么

Visual Studio 2008 的文本模板转换工具箱

  • 2008-04-20
  • 本文字数:771 字

    阅读完需:约 3 分钟

Visual Studio 2008 包含了一个文本模板转换工具箱,又称为 T4,是领域特定语言工具的一部分,并可用于基于文本模板的方式来生成代码。T4 也用于 Visual Studio 2005 的 DSL GAT 工具箱。

根据 MSDN 的描述:

一个文本模板是一个包含文本块和控制逻辑混合物的文件。当你转换一个文本模板,控制逻辑结合了文本块与模型里的数据来生成一个输出文件。你可以用文本模板来生成文本的输出,例如代码文件和 HTML 报表。举个例子,用户界面的页面之间的流程控制的模型,例如向导界面,可以通过输入一个文本模板。文本模板可以生成流程控制的代码和配置文件。

一个文本模板有一个文本模板文件作为输入,转换文本模板,并输出一个文本文件的转换过程。转换的过程有两个步骤。第一个步骤是 T4 的引擎使用文本模板生成一个临时的转换类。 第二个步骤是 T4 的引擎编译转换类为一个程序集并执行该代码,以产生了输出文本文件。

“Hello World!”的例子看起来是这样的:

<#@ template language=“C#” #>
<# Write(“Hello World!”) #>

文本模板可以包含 Visual Basic 中或 C#代码,如果没有特别指定,C#是默认的语言。 输出指令是用来指定生成的文本文件的类型。有很多种输出文件类型,其中最常用的几种是.html、.txt、.cs、.vb。默认的输出文件类型是.cs。下面是一个如何使用输出指令的例子:

<#@ output extension=".html" #>

Visual Studio 对编辑文本模板提供了有限的支持。Clarius 咨询公司有一个免费的编辑器,对T4 的模板提供了不同部分的颜色区分,智能提示和设计时预览的支持 。 Visual Studio 的支持文本模板和转换的过程中的调试,但它不是直接的支持。详细的如何调试可以在 MSDN 上找到 ,Gareth Jones 提供了一个简短的教程。Oleg Sych 发表了一篇 关于T4 的文章。更全面的MSDN 文档在这里

查看英文原文: Text Template Transformation Toolkit in Visual Studio 2008

2008-04-20 20:182995
用户头像

发布了 45 篇内容, 共 94582 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

Apache Kyuubi 高可用的云原生实现

移动云大数据

高可用 云原生 Kyuubi

【Spring 学习笔记(六)】Spring Bean 后置处理器

倔强的牛角

Java spring 6月月更

大数据培训Linux常用命令总结分享

@零度

大数据 Linux

web前端培训 SCSS 使用技巧总结分享

@零度

前端开发 scss

淘金家园NFT链游系统开发逻辑分析

开发微hkkf5566

Hoo研究院|5月下半月区块链行业投资机构动向

区块链前沿News

Hoo

分布式数据库下子查询和 Join 等复杂 SQL 如何实现?

TDengine

数据库 tdengine 时序数据库

WEB3:什么是去中心化数据库

devpoint

分布式 去中心化 Web3.0 6月月更 InfoQ极客传媒15周年庆

彰显个性│github和gitlab之自定义首页样式

自定义 主题 6月月更

代码注释的艺术,优秀代码真的不需要注释吗?

阿里巴巴中间件

阿里云 代码 技术分享

趣步运动挖矿系统开发模式详情

开发微hkkf5566

淘金家园NFT链游系统开发模式详解

开发微hkkf5566

spring-cloud-k8s 跨 NS 的坑

Damon

微服务架构 云原生 6月月更

Seata 企业版正式开放公测

阿里巴巴中间件

阿里云 云原生 seata

工赋开发者社区 | 风口上的低代码,技术人需要考虑哪些?

工赋开发者社区

低代码 低代码开发 低代码开发平台

云计算运维需要经常上夜班吗?需要倒班吗?

行云管家

云计算 运维 IT运维

技术分享| 浅谈调度平台设计

anyRTC开发者

Web 音视频 指挥调度 调度 快对讲

IET技能调研首次落地亚洲国家 为阿联酋工程技术发展提供洞察

E科讯

函数计算异步任务能力介绍 - 任务触发去重

阿里巴巴中间件

阿里云 云原生 函数计算 FC

Websocket 10分钟快速入门

领创集团Advance Intelligence Group

websocket

软件定义汽车时代下的云原生转型实战方法论

York

容器 云原生 车联网 软件架构 6月月更

GraphX 图计算实践之模式匹配抽取特定子图

NebulaGraph

图数据库 知识图谱 Nebula Graph

多云管理平台和运维管理平台有什么区别?两者一样吗?

行云管家

云计算 多云管理 云管理

直播回顾:隐私计算的关键技术以及行业应用技巧 | 龙蜥技术

OpenAnolis小助手

开源 直播 隐私计算 龙蜥社区 密码技术

阿里超大规模 Flink 集群运维实践

阿里云大数据AI技术

大数据 flink 运维

5G、AI、云计算,什么是云渲染?

Finovy Cloud

人工智能 云服务器 GPU服务器

百问百答第41期:应用性能探针监测原理-Java探针

博睿数据

智能运维 博睿数据 性能检测

5G发牌三周年 云网融合加速 如何解决企业网络之忧?

郑州埃文科技

IP地址 网络空间安全 5G 企业上云 云网融合

如何正确的评测视频画质

百度Geek说

视屏质量

用 Golang 重写 rsync(2):方案的选择

老豆还编程

c golang

Visual Studio 2008的文本模板转换工具箱_.NET_Abel Avram_InfoQ精选文章