Answers:
您需要修改中的文件C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Code\1033
。
Visual Studio 2010(10.0)及更低版本:那里有一个名为Class.zip的zip文件。解压缩此文件,编辑文件以放入public
关键字,然后重新打包(确保备份了原始文件)。
此后,C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache
通过打开Visual Studio命令外壳并执行以下命令,确保VS重建其缓存(只是zip文件解压缩到中的目录中)。
devenv /installvstemplates
Visual Studio 2012(11.0)及更高版本: 请参阅@JochemKempe的答案,因为现在只需通过编辑一个文件(无需解压缩或重新压缩)就可以更轻松地进行更改。
更新:在进行任何编辑之前,请不要忘记以管理员权限打开首选的文本编辑器。
在VS2012中,就像进入C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class
和编辑Class.cs文件一样简单。
无需解压缩或重建缓存。如果你问我,这是一个非常积极的变化。
VS2015:C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class
VS2017(RC):C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class
VS2017(专业版):C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class
VS2019(企业):C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
VS2019(专业):C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
过时的
VS2019(预览):C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
默认情况下,为Visual Studio 2012创建Public类:
编辑此文件:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
看起来像这样:
using System;
using System.Collections.Generic;
$if$ ($targetframeworkversion$ >= 3.5)using System.Linq;
$endif$using System.Text;
$if$ ($targetframeworkversion$ >= 4.5)using System.Threading.Tasks;
$endif$
namespace $rootnamespace$
{
public class $safeitemrootname$
{
}
}
您可以创建自己的项目模板,也可以修改现有的模板。所有这些项目文件都是模板驱动的,因此您可以更改它们和/或添加自己的文件。
查看以下链接:
马克
这是一个可重入的PS脚本,它将更新C#基类Item Template。路径会根据您使用的Visual Studio的版本/版本而变化。它还会备份原始模板,以备将来将来还原时使用。
$csharpClassTemplates = @("C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs",
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\1033\Class\Class.cs",
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs")
$csharpClassTemplates | % {
Write-Output("Updating template $_")
Copy-Item $_ -Destination "$_.backup"
(get-content $_).Replace('public ', '').Replace('class ', 'public class ') | Set-Content $_
}
..\2017\Professional\...
我手动编辑它,但这显示了2017年的新文件夹结构。谢谢。
除了JochemKempe好的答案之外,这是针对.NET核心模板的解决方法。
\CSharp\
您无需编辑目录中的模板,而无需编辑目录中的模板\AspNetCore\
。
VS2019(企业):C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\ItemTemplates\AspNetCore\Code\1033\Class\Class.cs
VS2019(专业):C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\ItemTemplates\AspNetCore\Code\1033\Class\Class.cs
JochemKempe的答案很好,但是有点困难,因为您需要在中重写受保护的文件Program Files
。
仅更新答案。社区版的模板位于文件夹中:
c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ProjectTemplates
但是还有创建新模板的可能性。将文件从源文件夹复制到用户模板文件夹。
例如,对于Windows Form应用程序,它可以是以下源文件夹之一(对于Visual Studio 2017社区):
c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ProjectTemplates\CSharp\Windows Root\Windows\1033\WindowsApplication\
c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ProjectTemplates\CSharp\Windows Root\Windows\1033\WindowsApplication\
c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ProjectTemplatesCache\CSharp\Windows Root\Windows\1033\WindowsApplication\
默认用户模板文件夹为(对于Visual Studio 2017社区):
C:\Users\<username>\Documents\Visual Studio 2017\Templates\ProjectTemplates\
新Windows窗体应用程序模板的目标文件夹为:
C:\Users\<username>\Documents\Visual Studio 2017\Templates\ProjectTemplates\Visual C#\Windows\1033\MyWindowsApplication\
使用此工具,在创建新项目时将有两个“ Windows Form Application”。两者之间的区别仅在于默认文件名。为了更好地区分,可以更改模板的显示名称。要更改模板名称,请更新.vstemplate
文件。
原始csWindowsApplication.vstemplate
包含以下行:
<Name Package="{FAE04EC1-301F-11d3-BF4B-00C04F79EFBC}" ID="2318" />
要更改名称,您需要将行更改为如下所示:
<Name ID="2318">My Windows Form Application</Name>
该解决方案的不利之处在于,您必须重命名新模板,然后向现有模板中添加新模板(旧的“不正确”示例将保留,并且您仍然不愿意使用它)。
但也有很大一部分。您无需成为管理员即可添加或更新示例。(无需重写文件Program Files
夹中的文件。)