当我在C# Visual Studio项目的解决方案中单击鼠标右键并选择“添加...”〉“类...”时,它创建了一个没有公共修饰符的类。如何让Visual Studio(2008)将该类默认为公共类?
gt0wga4j1#
在VS2012中,只需转到C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class并编辑Class.cs文件即可。不需要解压缩或重建缓存。如果你问我的话,这是一个非常积极的变化。
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class
VS2015:一月一日VS2017(RC):C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ItemTemplates\CSharp\Code\1033\ClassVS2017(专业版):C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\ItemTemplates\CSharp\Code\1033\ClassVS2019(企业版):C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.csVS2019(专业版):C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\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 2022开始,VS是一个64位应用程序,这意味着项模板采用C:\Program Files\...而不是C:\Program Files (x86)
C:\Program Files\...
C:\Program Files (x86)
VS2022(社区):C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.csVS2022(专业版):C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.csVS2022(企业版):C:\Program Files\Microsoft Visual Studio\2022\Enterprise\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\Microsoft Visual Studio\2022\Community\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
nbnkbykc2#
您需要修改位于C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Code\1033中的文件。
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Code\1033
**Visual Studio 2010(10.0)及更低版本:**其中有一个名为Class.zip的zip文件。将其解包,编辑该文件以放入您的public关键字,然后重新打包(确保备份原始文件)。
public
在此之后,通过打开Visual Studio命令shell并执行以下命令,确保VS重建其缓存(即解压缩到C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache目录中的zip文件):
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache
devenv /installvstemplates
**Visual Studio 2012(11.0)及更高版本:**请参阅the answer by @JochemKempe,因为现在更改此设置要容易得多,只需编辑单个文件(无需解压缩或重新压缩)。**UPDATE:**在进行任何编辑之前,请不要忘记使用管理员权限打开您首选得文本编辑器.
sg2wtvxw3#
默认情况下为Visual Studio 2012创建公共类:编辑此文件:
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$ { } }
sg2wtvxw4#
除了JochemKempe的伟大的答案,这里是如何做到这一点的.NET核心模板。
您需要编辑\AspNetCore\目录中的模板,而不是编辑\CSharp\目录中的模板。
\AspNetCore\
\CSharp\
VS2019(企业版):C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\ItemTemplates\AspNetCore\Code\1033\Class\Class.csVS2019(专业版):C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\ItemTemplates\AspNetCore\Code\1033\Class\Class.cs
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\ItemTemplates\AspNetCore\Code\1033\Class\Class.cs
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\ItemTemplates\AspNetCore\Code\1033\Class\Class.cs
sh7euo9m5#
在VS 2022 Professional中,对于那些只想编辑Class.cs文件并继续操作的用户,由于2022是64位的,它的路径发生了变化,不再位于x86路径中。现在它是:
C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class
3yhwsihp6#
您可以创建自己的项目模板,也可以修改现有模板。所有这些项目文件都是模板驱动的,因此您可以更改它们和/或添加自己的模板。查看以下链接:
马克
1yjd4xko7#
这是一个可重新进入的PS scriptlet,它将更新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 $_ }
7lrncoxx8#
The answer from JochemKempe工作正常,但有点困难,因为您需要在Program Files中重写受保护的文件。仅用于更新答案。Community edition的模板位于以下文件夹中:c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ProjectTemplates
Program Files
c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ProjectTemplates
但还有另一种可能性来创建新模板。将文件从源文件夹复制到用户模板文件夹。例如,对于Windows窗体应用程序,它可以是以下源文件夹之一 (对于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窗体应用程序”。这两个应用程序之间的区别仅在于默认文件名。为了更好地区分,可以更改模板的显示名称。要更改模板名称,请更新.vstemplate文件。原csWindowsApplication.vstemplate包含行:
.vstemplate
csWindowsApplication.vstemplate
<Name Package="{FAE04EC1-301F-11d3-BF4B-00C04F79EFBC}" ID="2318" />
要更改名称,您需要将该行更改为如下形式:
<Name ID="2318">My Windows Form Application</Name>
这个解决方案的负面部分是,你必须重命名你的新模板,你添加一个新的模板到现有的模板 (旧的'不正确'的例子将保留,你仍然可以不情愿地使用它)。但也有一个很好的部分。你不需要是管理员来添加或更新例子。(不需要重写Program Files文件夹中的文件。)
6uxekuva9#
在Visual Studio 2022中,您可以移至这个位置并编辑Class.cs档案。
C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class
9条答案
按热度按时间gt0wga4j1#
在VS2012中,只需转到
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class
并编辑Class.cs文件即可。不需要解压缩或重建缓存。如果你问我的话,这是一个非常积极的变化。
VS2015:一月一日
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
从Visual Studio 2022开始,VS是一个64位应用程序,这意味着项模板采用
C:\Program Files\...
而不是C:\Program Files (x86)
VS2022(社区):
C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
VS2022(专业版):
C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
VS2022(企业版):
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\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
个nbnkbykc2#
您需要修改位于
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Code\1033
中的文件。**Visual Studio 2010(10.0)及更低版本:**其中有一个名为Class.zip的zip文件。将其解包,编辑该文件以放入您的
public
关键字,然后重新打包(确保备份原始文件)。在此之后,通过打开Visual Studio命令shell并执行以下命令,确保VS重建其缓存(即解压缩到
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache
目录中的zip文件):**Visual Studio 2012(11.0)及更高版本:**请参阅the answer by @JochemKempe,因为现在更改此设置要容易得多,只需编辑单个文件(无需解压缩或重新压缩)。
**UPDATE:**在进行任何编辑之前,请不要忘记使用管理员权限打开您首选得文本编辑器.
sg2wtvxw3#
默认情况下为Visual Studio 2012创建公共类:
编辑此文件:
看起来像这样:
sg2wtvxw4#
除了JochemKempe的伟大的答案,这里是如何做到这一点的.NET核心模板。
.NET核心
您需要编辑
\AspNetCore\
目录中的模板,而不是编辑\CSharp\
目录中的模板。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
sh7euo9m5#
在VS 2022 Professional中,对于那些只想编辑Class.cs文件并继续操作的用户,由于2022是64位的,它的路径发生了变化,不再位于x86路径中。现在它是:
3yhwsihp6#
您可以创建自己的项目模板,也可以修改现有模板。所有这些项目文件都是模板驱动的,因此您可以更改它们和/或添加自己的模板。
查看以下链接:
马克
1yjd4xko7#
这是一个可重新进入的PS scriptlet,它将更新C#基类 Item Template。路径会根据您使用的Visual Studio版本而更改。它还备份原始模板,以备将来需要还原。
7lrncoxx8#
The answer from JochemKempe工作正常,但有点困难,因为您需要在
Program Files
中重写受保护的文件。仅用于更新答案。Community edition的模板位于以下文件夹中:
c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ProjectTemplates
另一种解决方案
但还有另一种可能性来创建新模板。将文件从源文件夹复制到用户模板文件夹。
例如,对于Windows窗体应用程序,它可以是以下源文件夹之一 (对于Visual Studio 2017社区):
默认用户模板文件夹为 (适用于Visual Studio 2017社区):
新Windows窗体应用程序模板的目标文件夹将是:
这样,在创建新项目时,您将拥有两个“Windows窗体应用程序”。这两个应用程序之间的区别仅在于默认文件名。为了更好地区分,可以更改模板的显示名称。要更改模板名称,请更新
.vstemplate
文件。原
csWindowsApplication.vstemplate
包含行:要更改名称,您需要将该行更改为如下形式:
这个解决方案的负面部分是,你必须重命名你的新模板,你添加一个新的模板到现有的模板 (旧的'不正确'的例子将保留,你仍然可以不情愿地使用它)。
但也有一个很好的部分。你不需要是管理员来添加或更新例子。(不需要重写
Program Files
文件夹中的文件。)6uxekuva9#
在Visual Studio 2022中,您可以移至这个位置并编辑Class.cs档案。