国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
Visual Studio技巧之打造擁有自己標(biāo)識的代碼模板

Visual Studio技巧之打造擁有自己標(biāo)識的代碼模板

    可能經(jīng)過很多博客的介紹,大家都知道代碼段的使用,使用代碼段可以很方便地生成一些常用的代碼格式,確實對我們開發(fā)很方便。在團(tuán)隊開發(fā)中或者在某些情況下我們經(jīng)常可能還會希望使用Visual Studio生成的代碼自動帶有一些信息,比如代碼文件的創(chuàng)建時間、代碼的說明及對命名空間的引用等等,實際上這個功能經(jīng)周公證實在Visual Studio2005以上版本中就支持了。

下面以周公的本本的具體情況為例來加以說明,在周公的DELL 1425上系統(tǒng)是安裝在C盤,在系統(tǒng)盤下同時安裝了Visual Studio 2005Visual Studio 2008兩套Visual Studio,并且安裝了正版的SQL Server 2005,因為系統(tǒng)盤經(jīng)常在Windows XPWindows 7之間切換并且還想在Windows XPWindows 7之間共享某些個人配置,所以將我的文檔目錄設(shè)置到了系統(tǒng)最后的一個盤G盤上了,具體路徑為G:\My Documents,如果不做特別配置應(yīng)為C:\Documents and Settings\zhoufoxcn\My Documents,這一點(diǎn)尤其注意。

這里針對Visual Studio 2008來進(jìn)行說明,首先我們打開C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE這個目錄(如果使用Visual Studio 2005則對應(yīng)的路徑為C:\Program Files\Microsoft Visual Studio 8\Common7\IDE),可以看到如下的情況:

從上圖中可以看出ItemTemplatesProjectTemplates文件夾被周公選中了,因為這個文件夾對我們有用。其中ItemTemplates文件中存放著我們向項目添加文件時的模板,ProjectTemplates文件夾顧名思義存放著我們創(chuàng)建項目的模板。這些文件夾中的模板分別會在我們創(chuàng)建文件或者項目時出現(xiàn)。

除了這些模板之外,Visual Studio在新建時還會搜索當(dāng)前用戶的個人模板,在周公的本本上針對Visual Studio 2008的個人模板存放路徑為G:\My Documents\Visual Studio 2008\Templates(如果沒有經(jīng)過這種這樣的特殊設(shè)置,這個路徑可能為C:\Documents and Settings\zhoufoxcn\My Documents\Visual Studio 2008\Templates,其中的zhoufoxcn為當(dāng)前登錄系統(tǒng)的用戶名),打開這個文件夾,我們看到如下情況:

在沒有做任何配置的時候這兩個文件夾都是空的,在此時如果我們向項目中添加文件會看到這樣的情況,如下圖:

從上圖可以看出,我的模板是空的。

好了,下面周公將C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE下的ItemTemplatesProjectTemplates文件夾拷貝到了當(dāng)前個人配置文件夾G:\My Documents\Visual Studio 2008\Templates下(請注意你的電腦配置與我的電腦配置中路徑的對應(yīng)關(guān)系),可能系統(tǒng)會提示是否覆蓋,點(diǎn)擊確認(rèn)之后我們再在任何項目中創(chuàng)建新文件會看到下面的情況,如下圖所示:

此時我們可以看到我的模板下可以創(chuàng)建的新文件類型和系統(tǒng)的一摸一樣,如果此時我們選擇創(chuàng)建的話,生成的文件內(nèi)容也會和系統(tǒng)模板的一樣。為了打造屬于我們個性的代碼,我們需要對我的模板進(jìn)行改造。

舉例來說,假如我們要改變系統(tǒng)默認(rèn)生成的代碼,想在創(chuàng)建代碼時自動添加一些信息,比如我們想讓默認(rèn)生成的是public的,那么可以按照下面的步驟做:

首先打開我的模板存放路徑,在周公這里這個路徑是G:\My Documents\Visual Studio 2008\Templates\ItemTemplates(請注意你的可能與周公的不同),這個文件夾下存放的是包含VB.NET、C++C#等新建項目的模板,如果我們要改變的是C#文件的,請繼續(xù)打開C#文件的創(chuàng)建模板,在周公本本上這個路徑為G:\My Documents\Visual Studio 2008\Templates\ItemTemplates\CSharp\Code\2052,在這個文件夾下有四個zip文件,名稱是Class.zip、CodeFile.zip、Interface.zipNETCFv2-Class.zip,分別對應(yīng)的是添加類、代碼文件、接口及.NET Compact Framework類的模板,在每個zip壓縮包里都有一個.cs文件和一個.vstemplate文件。在這里周公將Class.zip解壓出來,這時的class.cs文件代碼如下:

 

    using System;
    
using System.Collections.Generic;
    $
if$ ($targetframeworkversion$ == 3.5)using System.Linq;
    $endif$
using System.Text;
    
    
namespace $rootnamespace$
    {
        
class $safeitemrootname$
        {
        }
        }

 

 

將代碼更改如下:

代碼
    using System;
    
using System.Collections.Generic;
    $
if$ ($targetframeworkversion$ == 3.5)using System.Linq;
    $endif$
using System.Text;
    
    
namespace $rootnamespace$
    {
        
/// <summary>
        
/// 作者:zhoufoxcn
        
/// 時間:$time$
        
/// 公司:$registeredorganization$
        
/// 版權(quán):$year$-2012
        
/// CLR版本:$clrversion$
        
/// 博客地址:http://blog.csdn.net/zhoufoxcn
        
/// $safeitemrootname$說明:本代碼版權(quán)歸周公所有,使用時必須帶上周公博客地址
        
/// 唯一標(biāo)識:$guid1$
        
/// </summary>
        public class $safeitemrootname$
        {
            $safeitemrootname$()
            {
            }
        }
    }

 

保存class.cs,然后利用壓縮軟件將class.cs和剛剛從Class.zip中解壓出來Class.vstemplate文件壓縮為Class.zip文件(注意一定要壓縮成zip文件而不是rar或者其它格式文件,WinRAR提供這種功能),然后替換原來的Class.zip文件。

好了,現(xiàn)在我們可以檢驗我們的成果了。隨便打開一個項目,按照“添加”-“新建項”的步驟添加,在彈出的對話框中“我的模板”下選擇“類”(因為我們剛剛改的就是我的模板中添加的類的模板),這時Visual Studio 2008按照模板生成的代碼如下:

 

    using System;
    
using System.Collections.Generic;
    
using System.Linq;
    
using System.Text;
    
    
namespace WCFClient
    {
        
/// <summary>
        
/// 作者:zhoufoxcn
        
/// 時間:2010-6-20 9:39:04
        
/// 公司:www.netskycn.com
        
/// 版權(quán):2010-2012
        
/// CLR版本:2.0.50727.3603
        
/// 博客地址:http://blog.csdn.net/zhoufoxcn
        
/// Class1說明:本代碼版權(quán)歸周公所有,使用時必須帶上周公博客地址
        
/// 唯一標(biāo)識:f5d4bfbe-accd-4d77-92b0-1407db616ae1
        
/// </summary>
        public class Class1
        {
            Class1()
            {
            }
        }
    }

 

 

從上面的例子可以看出選擇我的模板的項就會按照預(yù)定好的格式生成代碼,如果我們對項目中的代碼有特殊格式要求的話,在這里統(tǒng)一定制非常方便,至少周公以后會用這種模板來寫公布在博客上的代碼,因為周公注意到有很網(wǎng)站喜歡將別人博客上的文章中的鏈接信息和作者信息去掉,這事實上違反了作者的聲明。有時間的話我們可以針對每一個項更改出自己的模板。

上面我們僅僅演示了生成新文件的配置,其實我們還可以更改新生成項目的配置,按照前面的操作我們添加新項目時也有我的模板選項,如下圖所示:

不過即使從我的模板中選擇創(chuàng)建新項目也和系統(tǒng)中的項目一樣,因為沒有經(jīng)過任何特殊配置。我們可以修改G:\My Documents\Visual Studio 2008\Templates\ProjectTemplates\CSharp下的項目模板,它們同樣也是一個zip文件,比如我們想要統(tǒng)一程序集信息,可以修改這個zip文件中的assemblyinfo.cs文件的內(nèi)容,這樣就不用每次都手動去修改程序集信息了。

通過上面的步驟之后可以讓我們很方便地定制了添加新項或者新項目的模板,這在公司中團(tuán)隊開發(fā)中還是相當(dāng)有用的,也方便對代碼文件的格式的統(tǒng)一。

需要說明的是在編輯模板時會看到一個形如$time$$rootnamespace$之類的東西,這些算是生成模板時用到的變量吧,在編輯模板時可以使用哪些變量微軟沒有官方的資料,不過周公留意了一下,大概有如下:

Itemname

safeitemname

sateitemrootname

projectname

safeprojectname

rootnamespace

guid[1-10]

time

year

username

userdomain

machinename

clrversion

targetframeworkversion

registeredorganization

wizarddata

可能有些人對上面的變量名不是太理解,其實是有規(guī)律的,都是一到幾個單詞的全稱,只不過沒有遵循我們平常所說的CamelPascal命名法則罷了(大家可以看的出不遵守命名法則確實難讀多了),知道這個規(guī)律之后這些變量的用途大家都能顧名思義了,如果確實不能也能根據(jù)最終生成的代碼推斷出它的用法的。此外,如果覺得每次都要從“我的模板下”選擇很麻煩的話,可以用更改后自定義模板替換系統(tǒng)中的模板。在剛剛編輯模板時我們還看到了一些簡單邏輯,比如當(dāng)使用的項目.NET Framework版本為3.5時會自動使用System.Linq命名空間,我們還可以模范系統(tǒng)模板中的邏輯增加更多更符合個人或者公司需要的邏輯。

 

周公

2010-06-20

Tag標(biāo)簽: .NET,ASP.NET,Visual Studio
周公
關(guān)注 - 0
粉絲 - 6
榮譽(yù):推薦博客
11
0
(請您對文章做出評價)
posted @ 2010-06-21 09:52 周公 閱讀(2856) 評論(24)  編輯 收藏

 回復(fù) 引用 查看   
#1樓2010-06-21 10:21 | 炸藥3      
不錯。特別進(jìn)行表揚(yáng)
 回復(fù) 引用 查看   
#2樓2010-06-21 10:50 | icjyw.com      
很是實用
 回復(fù) 引用 查看   
#3樓2010-06-21 10:57 | 馬老虎      
受教了!!
 回復(fù) 引用 查看   
#4樓2010-06-21 11:20 | oec2003      
周公也來園子了啊
 回復(fù) 引用 查看   
#5樓[樓主]2010-06-21 11:27 | 周公      
@oec2003
0bug在那里,jiri也要去那里,我只好找找清凈一點(diǎn)的地方了。

 回復(fù) 引用 查看   
#6樓2010-06-21 11:40 | Junior Lau      
可以直接就修改:
D:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplatesCache
或:
D:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache
底下的文件。

對于你自己的模板項目,可以用 文件-〉導(dǎo)出模板 功能。

在兩個$號中間可以加參數(shù)如:$year$ 會在這個位置輸出當(dāng)前年。

模板參數(shù)(區(qū)分大小寫):
clrversion 當(dāng)前CLR版本
GUID [1-10] 當(dāng)前工程GUID
itemname 新建項目的名稱
machinename 當(dāng)前計算機(jī)名。
projectname 當(dāng)前工程名。
registeredorganization 注冊表值
rootnamespace 默認(rèn)的命名空間。
safeitemname 可包含空格,不安全字符的項名稱
safeprojectname 可包含空格,不安全字符的工程名稱
time 創(chuàng)建時的時間, DD/MM/YYYY 00:00:00.
userdomain 當(dāng)前域
username 系統(tǒng)登錄用戶
year 年, YYYY.


 回復(fù) 引用 查看   
#7樓2010-06-21 11:46 | 九月煙花夢      
周公解夢???
 回復(fù) 引用 查看   
#8樓2010-06-21 11:46 | 搞IT的狐貍      
我使用了你的 放啊 可是生成的還是沒改變過的...........郁悶
 回復(fù) 引用 查看   
#9樓2010-06-21 11:51 | 尋自己      
很實用
 回復(fù) 引用 查看   
#10樓[樓主]2010-06-21 12:16 | 周公      
@搞IT的狐貍
在“我的模板”下選擇,不要使用系統(tǒng)的模板。

 回復(fù) 引用 查看   
#11樓[樓主]2010-06-21 12:18 | 周公      
引用Junior Lau:
可以直接就修改:
D:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplatesCache
或:
D:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache
底下的文件。

對于你自己的模板項目,可以用 文件-〉導(dǎo)出模板 功能。

在兩個$號中間可以加參數(shù)如:$year$ 會在這個位置輸出當(dāng)前年。

模板參數(shù)(區(qū)分大小寫):
clrversion 當(dāng)前CLR版本
GUID [1-10] 當(dāng)前...


這個總結(jié)比較全,其實從名字上就知道值了。

 回復(fù) 引用 查看   
#12樓2010-06-21 12:44 | 幸運(yùn)草      
很好,很實用,已經(jīng)用上了,多謝樓主
 回復(fù) 引用 查看   
#13樓2010-06-21 13:55 | cnbloger      
樓主好,有沒有研究過解決方案模板,比如可以創(chuàng)建一個包含多個特定項目的solution。
用了下 , 確實很方便
想把我的模板中的名稱和圖表修改 怎么改啊 , 我看了Interface.vstemplate 文件, 里面的name和id 值不知道從那來, 搜索了下也沒發(fā)現(xiàn)有這樣的文件, 在注冊表里搜索,到時發(fā)現(xiàn)了不少, 這個可以自定義嗎
 回復(fù) 引用 查看   
#16樓2010-06-21 16:26 | 近水樓臺      

周公,你也來園子里了,問候!

現(xiàn)在csdn已經(jīng)沒有技術(shù)的氛圍了。

 回復(fù) 引用 查看   
#17樓2010-06-21 16:53 | ji yang      
@藍(lán)藍(lán)的天

參看這兒:
http://msdn.microsoft.com/zh-cn/library/31cdwx28%28VS.80%29.aspx

<VSTemplate Type="Project" Version="2.0.0"
xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
<Name>My template</Name>
<Description>A basic starter kit</Description>
<Icon>TemplateIcon.ico</Icon>
<ProjectType>CSharp</ProjectType>
</TemplateData>
<TemplateContent>
<Project File="MyStarterKit.csproj">
<ProjectItem>Form1.cs<ProjectItem>
<ProjectItem>Form1.Designer.cs</ProjectItem>
<ProjectItem>Program.cs</ProjectItem>
<ProjectItem>Properties\AssemblyInfo.cs</ProjectItem>
<ProjectItem>Properties\Resources.resx</ProjectItem>
<ProjectItem>Properties\Resources.Designer.cs</ProjectItem>
<ProjectItem>Properties\Settings.settings</ProjectItem>
<ProjectItem>Properties\Settings.Designer.cs</ProjectItem>
</Project>
</TemplateContent>
</VSTemplate>

 回復(fù) 引用 查看   
#18樓2010-06-21 17:15 | www.77au.org      
受教了,謝謝!
 回復(fù) 引用 查看   
#19樓[樓主]2010-06-22 07:16 | 周公      
@ji yang
謝謝,這個更詳細(xì)了。

非常感謝,試了下 ,開始不行,后來對照了下模板,好像必須加
<RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
<NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>
這個, 否則在我的模板中顯示不處理啊

 回復(fù) 引用 查看   
#21樓2010-06-25 23:27 | 奇嘉閣      
學(xué)習(xí)
 回復(fù) 引用 查看   
#22樓2010-06-26 07:03 | MarcoRui      
嘗試了下VS2010,發(fā)現(xiàn)不區(qū)分我的模板和系統(tǒng)內(nèi)建的模板了,不知道是咋回事,WHO HELP一下~~
 回復(fù) 引用 查看   
#23樓[樓主]2010-06-27 19:13 | 周公      
@MarcoRui
我只在VS2005和VS2008下試了,VS2010可能會有所變化。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Visual Studio 代碼生成工具插件開發(fā)
VS插件開發(fā)
生產(chǎn)力提升! 自己動手自定義Visual Studio 2019的 類創(chuàng)建模板,制作簡易版Vsix安裝包
使用 T4 文本模板生成設(shè)計時代碼
項目和解決方案簡介
在 Visual Studio 市場中發(fā)布項目擴(kuò)展
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服