初次接触CodeSmith
说到开发效率的提高,代码生成器肯定是其中必不可少的重点。
说到代码生成器,鼎鼎大名CodeSmith肯定是如雷贯耳。
CodeSmith最大的特点是能够自定义模板
(通俗的说就是想生成什么样就可以生成什么样子,全部由自己自定义)
CodeSmith相关资料
CodeSmith官方网站:http://www.codesmithtools.com/
CodeSmith5.0.1破解版下载:http://kewlshare.com/dl/0538fcf454d3/CodeSmith.5.0.Professional.Incl.Patch.DTCG.rar.html
大家安装好以后,我们正式开始接触CodeSmith
首先运行程序
运行后,看看右上角的【Template Explorer】模板浏览器
发现里面有很多cst文件,这就是CodeSmith中最核心的内容:模板
(其实自带的模板还是比较全的,NetTiers、Linq To SQL、NHibernate……)
虽然模板比较全,但俗话说“适合自己的才是最好的”,那么我们接下来就来创建自己的第一个模板吧!
自从由Brian Kernighan和Dennis Ritchie编写《C编程语言》以来,书中的“Hello World”就成为任何一种语言的第一个程序。
(呵呵,这已经成为一种珍贵的传统了,希望好的传统能够一直延续下去……我们当然也应该延续这种传统)
1、新建模板
(模板的编写支持各种语言,当然还是选择我们最熟悉的C#)
2、去掉默认的所有内容,保存模板为Hello.cst文件
3、添加模板声明
<%@ CodeTemplate Language="C#" ResponseEncoding="UTF-8" Description="第一个模板"%>
和所有的程序一样,第一行为当前模板的声明。
Language:编写当前模板的语言
ResponseEncoding:输出的编码格式
Description:当前模板的描述
4、添加输出的内容
<%@ CodeTemplate Language="C#" ResponseEncoding="UTF-8" Description="第一个模板"%>
Hello World
<%=DateTime.Now.ToLongDateString()%>
其实模板和ASPX页面差不多,中间可以直接写内容,也可以通过<%=%>输出变量或系统内容
5、运行模板
显示结果为:
Hello World
2008年10月18日 星期六
好了,第一个模板已经成功创建了,在下一次将会跟大家介绍怎么实现外部输入参数,谢谢!
初次接触CodeSmith的更多相关文章
- 初次接触json...
这两天发现很多网站显示图片版块都用了瀑布流模式布局的:随着页面滚动条向下滚动,这种布局还会不断加载数据并附加至当前尾部.身为一个菜鸟级的程序员,而且以后可能会经常与网站打交道,我觉得我还是很有必要去尝 ...
- 初次接触GWT,知识点总括
初次接触GWT,知识点概括 前言 本人最近开始研究 GWT(Google Web Toolkit) ,现将个人的一点心得贴出来,希望对刚开始接触 GWT的程序员们有所帮助,也欢迎讨论,共同进步. 先说 ...
- [Docker]初次接触
Docker 初次接触 近期看了不少docker介绍性文章,也听了不少公开课,于是今天去官网逛了逛,发现了一个交互式的小教程于是决定跟着学习下. 仅仅是把认为重点的知识记录下来,不是非常系统的学习和笔 ...
- 初次接触:DirectDraw
第六章 初次接触:DirectDraw 本章,你将初次接触DirectX中最重要的组件:DirectDraw.DirectDraw可能是DirectX中最强大的技术,因为其贯穿着2D图形绘制同时其帧缓 ...
- 初次接触scrapy框架
初次接触这个框架,先订个小目标,抓取QQ首页,然后存入记事本. 安装框架(http://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/install.html) ...
- javaweb中的乱码问题(初次接触时写)
javaweb中的乱码问题 在初次接触javaweb中就遇到了乱码问题,下面是我遇到这些问题的解决办法 1. 页面乱码(jsp) 1. 在页面最前方加上 <%@ page language=&q ...
- 初次接触Java
今天初次接触Eclipse,学着用他来建立java工程,话不多说,来看看今天的成果! 熟悉自己手中的开发工具,热热身 刚上手别慌,有问题找度娘 刚刚拿到这个软件的安装包我是一脸懵逼的,因为是从官网下载 ...
- -1.记libgdx初次接触
学习一门技术最难的是开发环境变量配置和工具配置,以下为我初次接触libgdx时遇到的问题 几个难点记录下 gradle 直接用下到本地,然后放到d盘,链接到就行(gradle-wrapper.prop ...
- tensorflow初次接触记录,我用python写的tensorflow第一个模型
tensorflow初次接触记录,我用python写的tensorflow第一个模型 刚用python写的tensorflow机器学习代码,训练60000张手写文字图片,多层神经网络学习拟合17000 ...
随机推荐
- MicroSD卡(TF卡)SPI模式实现方法
现在我们手机的内存卡多为Micro SD卡,又叫TF卡,所以Micro SD卡比SD卡常见.自己曾经也想写写SD卡的读取程序,但又不想特地再去买个SD卡,这时想起手机内存卡不是和SD卡很像吗?在网上查 ...
- (转载)OC学习篇之---类目的概念和使用
上一篇文章介绍了OC中的@class关键字的使用,这一篇我们介绍一下,OC中的一个特有的亮点:类目 首先我们来看一下场景,如果我们现在想对一个类进行功能的扩充,我们该怎么做? 对于面向对象编程的话,首 ...
- leetcode—jump game
1.题目描述 Given an array of non-negative integers, you are initially positioned at the first index of t ...
- geeksforgeeks@ Maximum Index (Dynamic Programming)
http://www.practice.geeksforgeeks.org/problem-page.php?pid=129 Maximum Index Given an array A of int ...
- 轻松学习Linux之入门篇
1.Linux概述: 2.Linux优点 3.linux历史待上传 4.linux部分发行版 5.linux政府扶持 本文出自 "李晨光原创技术博客" 博客,谢绝转载!
- 子元素过滤器nth-child解释
jQuery中的子元素过滤器nth-child是指:选取每个父元素下的第index个子元素或者奇偶元素(index从1算起) 这里有几点要注意: 1. index 从1开始算 2. 过滤器filter ...
- windows平台下,快速删除所有.svn文件夹
新建一个注册表文件名为:DELSVN.reg编辑其内容如下: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Cla ...
- SpriteParticle II
[SpriteParticle II] 1.Randomizing the Starting Position 2.Setting the Initial Angle 3.Setting a Part ...
- List小结
假设有两个List集合,找出集合中重复的部分: //检测listX和listY中的重复部分 //把X复制到Z避免循环同时操作X从而出现异常 itemX.ForEach(i = ...
- WinForm控件使用文章收藏整理完成
对C# WinForm开发系列收集的控件使用方面进行整理, 加入了一些文章, 不断补充充实, 完善这方面. 基础 - 常用控件 C# WinForm开发系列 - CheckBox/Button/Lab ...