偷懒也得怀揣个性

偷懒也得怀揣个性

--定制具有个性的VS代码模板

      开始使用VS进行程序开发也快有两年的时间了,从开始对其一无所知,到现在的日常工作开发,我的生活已经离不开她了!虽然vs也同样具有臃肿的体态,但是无论是性能,还是应用性、用户化、扩展性等来说,其他的IDE都是无法相比的!vs内置了很多类型的项目模板和项目项模板,这些都极大的方便了我们的工作;但是我们日常开发中,不同的公司对代码开发会有一些不同的规范要求,比如版权声明,如果这些东西可以在新建项目和项目项的时候,自动的加上这些东西,那么就可以“偷懒”节约我们的时间;今天我们简单的介绍一下怎样定制代码模板;

         Vs代码模板简介

         Vs为我们预置了很多的项目和项目项模板,这些模板为我们开始创建项目或扩展当前项目提供了一个起点,我们可以在新建项目和新建项目项的窗口中选择符合我们项目要求的模板;他们可以重复使用,从而使我们可以偷懒而不用从头创建;

         每个类型的模板都必须包括模板定制代码文件、.vstemplate文件;前者定制模板生成代码文件时的具体格式;后者提供一些必要的元数据,比如模板类型等;当然也可以包括一些资源文件,比如在窗口中显示的图片等;最终这些文件会打包成.zip文件,方便我们的部署;

         创建自定义的模板

         秉承微软的一贯作风,vs为我们提供了方便快捷的界面操作工具;我们既可以将创建的模板到处为.zip压缩包,也可以导出为vsix文件;当然如果你愿意你也可以使用vs手动创建这些文件;今天简单的介绍一下使用标准导出模板向导创建自定义项目模板,如果您对其他方式有兴趣,请参考msdn;具体步骤如下

1.       创建一个项目。

2.       编辑该项目,直至其可以作为模板导出为止。

3.       根据需要编辑代码文件,以指示发生参数替换的位置。有关参数替换的更多信息。

4.       文件菜单上单击导出模板随即打开导出模板向导

5.       单击项目模板

6.       如果当前解决方案中有多个项目,请选择要导出到模板中的项目。

7.       单击下一步

8.       为模板选择图标和预览图像。它们将出现在新建项目对话框中。

9.       输入模板名称和说明。

10.    单击完成项目将导出为一个 .zip 文件并放到指定的输出位置,而且,如果选择适当的选项,项目还会导入到 Visual Studio 中。

通过上面步骤,我们定制了自己的vs模板,到处的zip文件默认会放在我的文档目录下的\Visual Studio 2010\My Exported Templates中;如果你选择可导入vs,那么我们就可以在新建窗口中,选择左侧相关语言(模板使用的语言),然后在中间模板区域就可以找到我们的模板了

附录:

代码定制文件

      class1.cs
     
复制代码
View Code
#region

/***********************************************************************
 * author:username
 * date:time
 * description:
 * 
 * copyright @ username
**********************************************************************
*/

#region NameSpace
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#endregion

namespace WFTH.LibraryTemplate
{
    /// <summary>
    
/// 
    
/// </summary>
    
/// <remarks>
    
/// time  username add 
    
/// time  username mod  
    
/// time  username del 
    
/// </remarks>
    internal class Class1
    {
        #region  成员

        #region 私有字段及相应的属性
        #endregion

        #region  成员方法

        #region xxx功能区
        #endregion

        #endregion

        #endregion
    }
}
#endregion
复制代码
      interface1.cs
复制代码
View Code
#region

/***********************************************************************
 * author:username
 * date:time
 * description:
 * 
 * copyright @ username
**********************************************************************
*/

#region NameSpace
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#endregion

namespace WFTH.LibraryTemplate
{
    /// <summary>
    
/// 
    
/// </summary>
    
/// <remarks>
    
/// time  username add 
    
/// time  username mod  
    
/// time  username del 
    
/// </remarks>
    public  interface Interface1
    {
        #region 成员

        #region  属性成员
        #endregion

        #region 方法成员
        #endregion

        #endregion
    }
}

#endregion
复制代码
      模板参数列表 















































Parameter


说明


clrversion


公共语言运行时 (CLR) 的当前版本。


GUID [1-10]


用于替换项目文件中的项目 GUID GUID。最多可以指定 10 个唯一的 GUID(例如,guid1))。


itemname


用户在添加新项对话框中提供的名称。


machinename


当前的计算机名称(例如,Computer01)。


projectname


用户在新建项目对话框中提供的名称。


registeredorganization


HKLM\Software\Microsoft\Windows
NT\CurrentVersion\RegisteredOrganization
中的注册表项值。


rootnamespace


当前项目的根命名空间。此参数用于仅在要添加到项目中的项中替换命名空间。


safeitemname


用户在添加新项对话框中提供的名称,名称中移除了所有不安全的字符和空格。


safeprojectname


用户在新建项目对话框中提供的名称,名称中移除了所有不安全的字符和空格。


time


DD/MM/YYYY 00:00:00 格式表示的当前时间。


userdomain


当前的用户域。


username


当前的用户名。


webnamespace


当前网站的名称。在 Web 窗体模板中使用此参数以确保类名称是唯一的。如果网站位于 Web 服务器的根目录下,则此模板参数将解析为 Web 服务器的根目录。


year


YYYY 格式表示的当前年份。



 

posted @   无风听海  阅读(532)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示