首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
使用 T4 文本模板生成设计时代码
】的更多相关文章
使用 T4 文本模板生成设计时代码
使用设计时 T4 文本模板,您可以在 Visual Studio 项目中生成程序代码和其他文件. 通常,您编写一些模板,以便它们根据来自模型的数据来改变所生成的代码. 模型是包含有关应用程序要求的关键信息的文件或数据库. 例如,您可能具有一个将工作流定义为表或关系图的模型. 可以从该模型生成执行工作流的软件. 当用户的要求变化时,可以很容易地与用户讨论新的工作流. 从工作流重新生成代码比手动更新代码更可靠. 说明 模型是描述应用程序特定方面的数据源. 它可以是任何形式.任何类型的文件或数据库…
T4 文本模板编写准则
如果要在 Visual Studio 中生成程序代码或其他应用程序资源,遵守以下一般准则可能非常有帮助. 它们并不是一成不变的规则. 设计时 T4 模板准则 设计时 T4 模板是在设计时在 Visual Studio 项目中生成代码的模板. 有关更多信息,请参见使用 T4 文本模板生成设计时代码. 生成应用程序的可变部分. 对于在项目期间可能更改的应用程序部分,或将在不同版本的应用程序之间更改的应用程序部分,代码生成最为有用. 可将这些可变部分与较固定的部分相分离,以便更容易确定必须生成的内容.…
编写 T4 文本模板
文本模板由以下部件组成: 1)指令 - 控制模板处理方式的元素. 2)文本块 - 直接复制到输出的内容. 3)控制块 - 向文本插入可变值并控制文本的条件或重复部件的程序代码. 指令: 指令是控制模板处理方式的元素,为模板转换引擎提供说明. T4文本模板指令包括: T4模板指令: T4参数指令: T4输出指令: T4程序集指令: T4导入指令: T4包含指令: T4 CleanUpBehavior 指令及其自定义指令. 指令的语法如下所示: <#@ DirectiveName…
T4文本模板转换过程
T4文本模板转换过程将文本模板文件作为输入,生成一个新的文本文件作为输出. 例如,可以使用文本模板生成 Visual Basic 或 C# 代码,还可以生成 HTML 报告. 有三个组件参与这一过程:引擎.宿主和指令处理器. 引擎对该过程进行控制(引擎与宿主和指令处理器交互),以生成输出文件:宿主提供与环境的所有交互(如定位文件和程序集); 指令处理器为文本模板添加功能(如从 XML 文件或数据库读取数据等). 组件: 组件 说明 可自定义(是/否) 引擎 引擎组件控制文本模板转换过程. 否 主…
一个简单的代码生成器(T4文本模板运用)
说要写这篇文章有一段时间了,但因为最近各方面的压力导致心情十二分的不好,下班后往往都洗洗睡了.今天痛定思痛,终于把这件拖了很久的事做了.好,不废话了,现在看看"一个简单的代码生成器" . 先看看界面吧! 简约到如此,说是代码生成器,估计是要被吐槽的.好吧,借用园子里博友的说法,这只是一粒粟子,如果你愿意,你能看到代码生成器的“种子”. 这样运行的! 画了个简图已描述这个简单的代码生成器的工作过程.下面的介绍将以此图展开: 1)读取数据表的信息:从数据库中读取数据表的信息并转换成要为T4…
Swagger结合mustache模板生成后台接口代码、以及前后台建模代码
之前项目中使用的的thrift来建模,维护前后台模型以及rest接口,前台使用的是angular2: 但是使用thrift只能生成建模,后台的rest接口的Controller文件还是需要手动去写,一旦接口改动就会涉及到很多方面. 由此准备使用Swagger和mustache模板来做一个maven插件直接生成前台ts文件和后台java文件以及rest接口文件.只需要维护swagger的yaml文件. yaml文件: swagger: "2.0"info: description: &q…
T4文本模板
<#...#> 可以包含语句 <#=...#> 用于表达式,提供“输出”操作 <#+ ...> 使用类功能控制块向文本模板添加方法.属性.字段,必须作为文件中最后一个块显示 assembly 指令使指定的程序集可供模板代码使用,方式与 Visual Studio 项目中的“引用”部分相同. 您无需包括对 System.dll 的引用,它是自动引用的. import 指令允许您使用类型而不使用其完全限定名,方式与普通程序文件中的 using 指令相同 若要从相对于文本模…
T4学习- 2、创建设计时模板
使用设计时 T4 文本模板,您可以在 Visual Studio 项目中生成程序代码和其他文件. 通常,您编写一些模板,以便它们根据来自模型的数据来改变所生成的代码. 模型是包含有关应用程序要求的关键信息的文件或数据库.像一些常用的框架,基本都是根据数据库模型来生成代码框架的. 一.具体步骤 1.选择“文本模板” 新建项目名为:T4Sample,添加新项,选择“文本模板”即可创建设计时模板 模板属性,请确认: 自定义工具 = TextTemplatingFileGenerator 生成操作 =…
CSharpGL(12)用T4模板生成CSSL及其renderer代码
CSharpGL(12)用T4模板生成CSSL及其renderer代码 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立的Demo,更适合入门参考. 为了尽可能提升渲染效率,CSharpGL是面向Shader的,因此稍有难度. CSSL+Renderer 严格来说本篇不直接涉及OpenGL,但磨刀不误砍柴工,本篇仍算CSharpGL里. 上一篇制作了CSSL.CSSL和Renderer配合,就定义了一个渲染OpenG…
T4模板生成文件要点记录
可以使用 $(variableName) 语法引用 Visual Studio 或 MSBuild 变量(如 $(SolutionDir)),以及使用 %VariableName% 来引用环境变量.介绍几个常用的$(variableName) 变量: $(SolutionDir):当前项目所在解决方案目录$(ProjectDir):当前项目所在目录$(TargetPath):当前项目编译输出文件绝对路径$(TargetDir):当前项目编译输出目录,即web项目的Bin目录,控制台.类库项目bi…
使用T4模板生成POCO类
为什么叫T4?因为简写为4个T. T4(Text Template Transformation Toolkit)是微软官方在VisualStudio 2008中开始使用的代码生成引擎.在 Visual Studio 中,“T4 文本模板”是由一些文本块和控制逻辑组成的混合模板,它可以生成文本文件. 在 Visual C# 或 Visual Basic 中,控制逻辑编写为程序代码的片段.生成的文件可以是任何类型的文本,例如网页.资源文件或任何语言的程序源代码.现在的VS中只要与代码生成相关的场景…
T4模板之文本模板
网址:https://docs.microsoft.com/en-us/visualstudio/modeling/design-time-code-generation-by-using-t4-text-templates?view=vs-2017 这个博主写的很良心了:https://www.cnblogs.com/lzrabbit/archive/2012/07/15/2591085.html T4模板在平时我们其实都会或多或少的遇到.最多的用在实体与数据库的映射上面. 这里只记录一下他的…
MVC开发T4代码生成之一----文本模板基础
T4文本模板 T4全写为Text Template Transformation Toolkit,是一种编程辅助工具,用来使程序代码自(懒)动(猿)生(福)成(利)的工具.MVC开发中大量使用了T4模板,近乎魔性的应用可以参考Steve Sanderso的 MvcScaffolding系列文章.关于T4文本模板的相关知识,最权威的教材就是微软的官方说明,其中重要的指令可以参考这里.园子里也有许多相关文章,从基础的T4模版引擎之基础入门 到涉及T4体系结构的(译)理解 T4 模板:<#@ para…
k.tt 研究下生成的逻辑代码:从壹开始前后端分离 [.netCore 填坑 ] 三十二║ 四种方法快速实现项目的半自动化搭建
更新 1.更新小伙伴 @大龄Giser 提出好点子:试试VS的插件扩展:VSIX.ItemProject等,将T4模板给制作插件,这里先记下,有懂的小伙伴可以自己先试试,我会在以后更新. 2.感谢小伙伴 @博客园董事长的测试和指正,本文 T4 模板已经支持 Oracle 3.再次感谢小伙伴 @大龄Giser 关于 使用VSIX+ProjectTemplate创建项目模板,提供开源支持:https://www.cnblogs.com/OlderGiser/p/9796403.html 4.感谢…
关于C#中文本模板(.tt)的简单应用
这两天做项目突遇 .tt文件,之前没有接触过,so查询学习做笔记,帮助记忆和后来者. 在项目添加中点击选择文本模板 下面贴出代码,做了简单的注释 <#@ template debug="false" hostspecific="false" language="C#" #> <#@ assembly name="System.Core" #> <#@ import namespace="…
C#中文本模板(.tt)
关于C#中文本模板(.tt)的简单应用 这两天做项目突遇 .tt文件,之前没有接触过,so查询学习做笔记,帮助记忆和后来者. 在项目添加中点击选择文本模板 下面贴出代码,做了简单的注释 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <#@ template debug="false" hostspecific="false" language="C#" #> <#@ assembly name=&quo…
[No0000AE]在 Visual Studio 中调试 XAML 设计时异常
在 Visual Studio 中进行 WPF, UWP, Silverlight 开发时,经常会遇到 XAML 设计器由于遭遇异常而无法正常显示设计器视图的情况.很多时候由于最终生成的项目在运行时并不会出现同样的异常,我们往往会忽略设计时异常,仅仅通过关闭设计器在设计时执行代码的功能来规避设计器异常的问题. 规避设计时异常 一般有两种做法: 1.关闭设计器执行代码 在 Visual Studio 2015 中,XAML 设计器左下角的这个按钮可以随时开启或关闭设计器执行代码.如果在 UI 相关…
android官方技术文档翻译——设计时布局属性
本文译自androd官方技术文档<Designtime Layout Attributes>:http://tools.android.com/tips/layout-designtime-attributes. 本文地址:http://blog.csdn.net/maosidiaoxian/article/details/41541269.转载请注明出处.翻译如有错讹,敬请指正. 设计时布局属性 在 Android Studio 0.2.11 版本中,布局渲染(用于布局编辑器以及XML编辑器…
在 Visual Studio 中调试 XAML 设计时异常
在 Visual Studio 中进行 WPF, UWP, Silverlight 开发时,经常会遇到 XAML 设计器由于遭遇异常而无法正常显示设计器视图的情况.很多时候由于最终生成的项目在运行时并不会出现同样的异常,我们往往会忽略设计时异常,仅仅通过关闭设计器在设计时执行代码的功能来规避设计器异常的问题. 规避设计时异常 规避设计时异常,一般有两种做法: 关闭设计器执行代码 在 Visual Studio 2015 中,XAML 设计器左下角的这个按钮可以随时开启或关闭设计器执行代码.如果在…
基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(v6.0.0版)
TableGo v6.0.0 版震撼发布,此次版本更新如下: 1.UI界面大改版,组件大调整,提升界面功能的可扩展性. 2.新增BeautyEye主题,界面更加清新美观,也可以通过配置切换到原生Java主题. 3.新增合并增量更新功能,并能指定代码中哪些代码块动态更新,哪些代码块不更新. 4.新增文件更新方式配置,可根据需要使用增量更新和覆盖更新. 5.新增保存全局参数和自定义文件的JSON参管理功能. 6.生成自定义文件新增JSON参数配置,可以灵活定义各种参数并能将代码直接生成到项目源码目录…
wpf控件设计时支持(3)
原文:wpf控件设计时支持(3) wpf设计时调试 编辑模型 装饰器 1.wpf设计时调试 为了更好的了解wpf设计时框架,那么调试则非常重要,通过以下配置可以调试控件的设计时代码 (1)将启动项目配置成外部的visual studio ide启动程序devenv.exe (2)F5启动调试然后会打开一个新的visual studio ide,这个时候要记得重新打开你要调试的那个项目. 以上两个步骤就可以实现设计时调试了 2.编辑模型体系 当选中某些控件出现的设计时,这个选中的控件便成了可编辑的…
Word模板生成PDF文件目录出现“错误!未定义书签!”的解决办法
通过程序读取Word文档模板生成PDF时,所有目录的页码全部变为“错误!未定义书签!”,后来经过仔细研究,发现是“域”的问题. 解决办法:全选(Crtl+A),按下Crtl+F11,再打印或者另存为PDF即可. 相关资料: 1.什么是Word的“域”? Word域可以实现许多复杂的工作,自动编页码.图表的题注.脚注.尾注的号码等,都可以通过Word的域来快速完成. 2.怎么禁止域的自动更新? 选中要锁定的域,按“Ctrl+F11”组合键即可锁定该域,从而防止该域被更新(只对具有更新特性的域有效,…
MVC实用架构设计(三)——EF-Code First(3):使用T4模板生成相似代码
前言 经过前面EF的<第一篇>与<第二篇>,我们的数据层功能已经较为完善了,但有不少代码相似度较高,比如负责实体映射的 EntityConfiguration,负责仓储操作的IEntityRepository与EntityRepository.而且每添加一个实体类型,就要手动去添加一套相应的代码,也是比较累的工作.如果能有一个根据实体类型自动生成这些相似度较高的代码的解决方案,那将会减少大量的无聊的工作. VS提供的“文本模板”(俗称T4)功能,就是一个较好的解决方案.要添加一个实…
[转]MVC实用架构设计(三)——EF-Code First(3):使用T4模板生成相似代码
本文转自:http://www.cnblogs.com/guomingfeng/p/mvc-ef-t4.html 〇.目录 一.前言 二.工具准备 三.T4代码生成预热 (一) 单文件生成:HelloWorld.cs (二) 多文件生成 四.生成数据层实体相关相似代码 (一) 生成准备 (二) 生成实体相关相似代码 生成实体映射配置类 生成实体仓储接口 生成实体仓储实现 五.源码获取 系列导航 一.前言 经过前面EF的<第一篇>与<第二篇>,我们的数据层功能已经较为完善了,但有不少…
T4设计时模板调试
在Visual Studio内调试T4设计时模板有多个方法:安装使用带调试功能的第三方工具,利用System.Diagnostics.Debugger实时调试器,VS内置的T4调试工具.使用第三方工具的方法就不用说了,这里只记录下使用Debugger实时调试器和VS内置的T4调试工具的调试过程.首先是使用VS内置调试工具的调试过程.此处的VS使用的VS2015专业版,在VS内新建一个文本模板TextTemplate1.tt,删掉不必要的部分,代码如下: <#@ template debug=&quo…
【VS外接程序】利用T4模板生成模块代码
引言 记得第一次做asp.net mvc项目时,可以用model直接生成Html的增删改查页面, 没什么特殊要求都可以不用修改直接用了, 觉得很神奇,效率太高了.后来在做客户端开发时,发现很多模块都是增删改查,于是打算做个类似的代码生成插件.琢磨了几天,用了一个比较奇异的思路做了出来,估计和mvc的有大不同.下面,简略地分享一下,写得比较乱,将就一下哈. 总体思路 特性类->外接程序->T4模板->动态编译->生成文本文件->添加到当前项目 特性类 简单起见,构建了两个特性,…
T4模板生成代码。 数据实体层与数据仓储层。备注
文件生成模板:TempleteManager.ttinclude <#@ assembly name="System.Core" #><#@ assembly name="System.Data.Linq" #><#@ assembly name="EnvDTE" #><#@ assembly name="System.Xml.Linq" #><#@ import name…
使用T4模板生成MySql数据库实体类
注:本文系作者原创,但可随意转载. 现在呆的公司使用的数据库几乎都是MySQL.编程方式DatabaseFirst.即先写数据库设计,表设计按照规范好的文档写进EXCEL里,然后用公司的宏,生成建表脚本和实体类文件. 之前就见识过T4模板生成SQL实体类文件,但还没自己实践过,这次正好实现一下生成MySQL的实体类. 目标类文件结构大致如下: //----------------------------------------------------------------------- //…
Visual Studio 2013 EF5实体数据模型 EDMX 使用 T4模板生成后使用 ObjectContext对象
Visual Studio 2013 EF5实体数据模型 EDMX 使用 T4模板生成后的继承对象为DbContext,以前的熟悉的ObjectContext对象不见了,当然使用ObjectContext对象不是每个程序员都需要的,解决办法有两种: 方法1.打开Model.Context.cs,添加 public OracleModelEntities(ObjectContext objectContext, bool dbContextOwnsObjectContext) …
C#代码生成工具:文本模板初体验 使用T4批量修改实体框架(Entity Framework)的类名
转自:http://www.cnblogs.com/huangcong/archive/2011/07/20/1931107.html 在之前的文本模板(T4)初体验中我们已经知道了T4的用处,下面就看看如何用它来实现批量修改实体框架(Entity Framework)中的类名.我们都知道ADO.NET 实体数据模型中有一种方式是以数据库模型来生成数据模型的,这是个很简便的实体数据模型生成的方式,但是因为微软提供的自定义接口不足,我们无法实现对生成的数据模型实体类批量进行修改(至少我上网找了很久…