HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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:182388
用户头像

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

关注

评论

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

寻找 Web3 的灵魂

CECBC

盘点:2022年10款比较火的项目管理软件

优秀

项目管理软件

Spark Shuffle 原理

Geek_qsftko

大数据 spark

面向艺术家的Web3商业生态,由OKALEIDO的NFT聚合交易赋能

西柚子

NFT市场进入聚合时代,OKALEIDO成BNB Chain上的首个聚合平台

BlockChain先知

网络整体设计思路

阿泽🧸

6月月更 网络设计

在 GitHub 上玩转开源项目的 Code Review

胡说云原生

GitHub 开源 DevOps Code Review DevStream

当Spring邂逅Kafka,有趣的知识增加了

Geek_rze78a

kafka spring 6月月更

每日一题 | LeetCode977 有序数组的平方

武师叔

Leet Code 6月月更

华为云鲲鹏代码迁移工具的功能与特性

乌龟哥哥

6月月更

SDN网络编排与服务

穿过生命散发芬芳

SDN网络 6月月更

建立java和jin函数之间的关系

北洋

6月月更

Hoo首发上线CloudChat(CC) 推出空投5,000 USDT活动

区块链前沿News

Hoo

GameFi新的契机,AQUANEE市场近状一览

西柚子

数据库每日一题---第5天:变更性别

知心宝贝

数据库 前端 后端 6月月更

G7与E6宣布完成合并

Geek_2d6073

在线两个文本列表拼接合并工具

入门小站

工具

通用池化框架GenericKeyedObjectPool性能测试

FunTester

客户之声|携程基于 OceanBase 读写分离方案的探索与优化

OceanBase 数据库

数据库 oceanbase

全国首批“持证上岗”的区块链应用操作员来了

CECBC

引入区块链技术 是开展碳信息审计的有效举措

CECBC

同步屏障CyclicBarrier

急需上岸的小谢

6月月更

数值转换

Jason199

js 数据转换 6月月更

linux中同时移动多种格式文件

入门小站

Linux

NFT市场进入聚合时代,OKALEIDO成BNB Chain上的首个聚合平台

小哈区块

洞见科技承建国家工信安全中心「隐私计算平台」,筑基互联互通生态底座

洞见科技

隐私计算 数据要素

【LeetCode】马戏团人塔Java题解

Albert

LeetCode 6月月更

vue指令-3

小恺

6月月更

太卷了!腾讯一面被问到内存满了,会发生什么?

Java全栈架构师

Java Linux 程序员 面试 操作系统

端午节的咸鸭蛋

红毛丹

前端 6月月更

模块三作业

Elvis FAN

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