ChatGPT解决这个技术问题 Extra ChatGPT

如何为新的 C# 类/接口编辑 Visual Studio 模板?

我发现自己在 Visual Studio 中创建的几乎每个 C# 文件中都删除了以下导入语句:

using System.Collections.Generic;
using System.Linq;
using System.Text;

当然,使用 Resharper 很容易做到这一点,但我真的不应该这样做。

VS 目录中的某处必须有一些模板(类、接口),我可以从中删除有问题的行。我在哪里可以找到这些文件?有没有更好的方法来控制默认导入列表?


e
eyelesscactus54

2022

Visual Studio 2022 现在是 64 位进程,因此其位置已改为使用 Program Files

%ProgramFiles%\Microsoft Visual Studio\<年份>\<版本>\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class.cs

年版绝对路径 2022 Community %ProgramFiles%\Microsoft Visual Studio\2022\Community\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs Enterprise %ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\Common7\ IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs Professional %ProgramFiles%\Microsoft Visual Studio\2022\Professional\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs

2017 年至 2019 年

Visual Studio 2017 将目录位置更改为使用发布年份而不是其内部版本号,并且还取决于您的版本(专业/企业/等):

%ProgramFiles(x86)%\Microsoft Visual Studio <年份>\<版本>\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class.cs

年版绝对路径 2019 Community %ProgramFiles(x86)%\Microsoft Visual Studio 2019\Community\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs Enterprise %ProgramFiles(x86)%\Microsoft Visual Studio 2019\ Enterprise\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs Professional %ProgramFiles(x86)%\Microsoft Visual Studio 2019\Professional\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class。 cs 2017 社区 %ProgramFiles(x86)%\Microsoft Visual Studio 2017\Community\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs Enterprise %ProgramFiles(x86)%\Microsoft Visual Studio 2017\Enterprise\Common7 \IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs Professional %ProgramFiles(x86)%\Microsoft Visual Studio 2017\Professional\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs

2012 年至 2015 年

从 VS 2012 开始,模板没有压缩,因此您可以直接编辑每个适用文件夹中的每个 .cs 模板。

%ProgramFiles(x86)%\Microsoft Visual Studio <版本>\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class.cs

年份 版本 绝对路径 2015 14.0 %ProgramFiles(x86)%\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class.cs 2013 12.0 %ProgramFiles(x86)%\Microsoft Visual Studio 12.0\Common7\IDE \ItemTemplates\CSharp\Code\1033\Class.cs 2012 11.0 %ProgramFiles(x86)%\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplates\CSharp\1033\Class.cs

2010 年及以上

提取、编辑和重新压缩 ZIP 文件。路径用于类模板,但接口模板位于同一文件夹中。

您可能需要编辑每个中的 VS 模板文件,以消除它们不会自动添加对程序集 System、System.Data 和/或 System.Xml 的引用的事实。

%ProgramFiles(x86)%\Microsoft Visual Studio <版本>\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class.zip

年份 版本 绝对路径 2010 10.0 %ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class.zip 2008 9.0 %ProgramFiles(x86)%\Microsoft Visual Studio 9.0\Common7\IDE \ItemTemplates\CSharp\Code\1033\Class.zip 2005 8 %ProgramFiles(x86)%\Microsoft Visual Studio 8\Common7\IDE\ItemTemplates\CSharp\1033\Class.zip

笔记

速成版

在 Express Editions 中,您必须在 IDE 文件夹内的子目录 WDExpress 中搜索,例如对于 VS 2015 Express:

%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\Common7\IDE\WDExpress\ItemTemplates\CSharp\Code\1033\Class\Class.cs

其他语言

如果您不使用英文版的 Visual Studio,则文件夹 1033 可能不存在,而是代表您的语言的不同数字。例如,在德语安装中它是 1031


它并不总是反映 Visual Studio 中的这些更改。如果不适合您,请编辑 ItemTemplatesCache 目录中的文件(除了 ItemTemplates)。例如(2005 年)C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\1033\Class.zip\Class.cs。请注意,这里的 Class.zip 是一个目录,而不是实际的 ZIP 文件。
请注意,Service Pack 更新会擦除您的缓存,因此请确保将其备份,以便将其放回原处。
@Joe:或者强制 Visual Studio 通过运行 devenv /setup 重新加载模板。该命令可能需要一分钟才能运行。
@Brian devenv.exe /installvstemplates 就足够了。至少对于 VS 2012。在 VS 运行时可执行。
如果您使用的是 ASP.NET/MVC 并且 Visual Studio 不会获取您对模板的更新,请尝试编辑 C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\WebClass\Class.cs. 然后运行 devenv.exe /installvstemplates。
S
SLaks

您正在寻找以下目录:

C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp

每个模板都是此文件夹中某一类别的 1033(英文)子文件夹中的 ZIP 文件。您可以编辑 ZIP 文件中的 .cs 文件。

如果您使用的是 32 位系统,请删除 (x86)。 VS2005 是 Microsoft Visual Studio 8,VS2010 是 Microsoft Visual Studio 10.0

请注意,这些模板不是每个用户的。您可以通过将这些 ZIP 文件复制到 My Documents\Visual Studio 2008\Templates\ItemTemplates\Visual C# 来制作每个用户的模板。


感谢这里的每个用户选项。但请注意,至少在 VS2015 中,没有 zip 文件/文件夹。我的路径是 C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class,然后我创建并复制到 ...\Documents\Visual Studio 2015\Templates\ItemTemplates\Visual C#\Code\1033\Class。我在执行此操作时关闭了 Visual Studio。我还运行了另一条评论中提到的 devenv.exe /installvstemplates 命令。当我重新启动 VS 时,我的更改在创建新类时出现了。出色的!
A
Aaron Hoffman

对于 Visual Studio 2012,要从默认的 class.cs 文件中删除这些,项目模板可能如下所示(不要包含/删除 using 语句):

默认类模板文件:C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs

using System;
namespace $rootnamespace$
{
    class $safeitemrootname$
    {
    }
}

更多信息:http://aaron-hoffman.blogspot.com/2013/05/edit-default-visual-studio-2012-item.html


t
tjlindahl

新的类模板也可能位于不同的文件夹中,具体取决于项目类型。在 VS 2015 的 Web 项目中工作时,我发现在编辑文件时

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\ItemTemplates\CSharp\Code\1033\WebClass\Class.cs

我能够使用我想要的默认格式创建一个新类。


D
Dave Robinson

Sam Harwell 提供的出色信息的新补充。我正在使用 Visual Studio 2019 Community,我的类模板的路径与前面提到的相同,除了“Enterprise”被“Community”替换。所以:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class

还值得一提的是,在我的安装中,Class“zip”文件夹根本不是 zip。它只是另一个文件夹。

另一个“陷阱”是,如果您正在运行预览版,它位于它自己的“预览”文件夹中:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class

对于其他模板,要查找的文件夹是:

C:\Program Files (x86)\Microsoft Visual Studio\[年份]\[版本]\Common7\IDE\ItemTemplates

所以,在我的机器上是:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\Common7\IDE\ItemTemplates

[编辑 2020 年 5 月 10 日]

您还需要检查工具 | 中“用户项目模板位置”的值。选项 |项目和解决方案/地点

我希望这可以帮助别人。


M
Max

提到的解决方案都不适合我,所以我发布了我为 VS 2019 (16.7.7) 解决它的方式:

我已按照 here 中的步骤操作:

我已经使用模板打开了目录:C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class

根据我的需要编辑模板并保存(Class.cs)

压缩两个文件:Class.cs 和 Class.vstemplate

将 zip 移至:cd "%USERPROFILE%\Documents\Visual Studio 2019\Templates\ItemTemplates"

我不确定是否有必要,但我已经运行 devenv /installvstemplates

同上(不确定是否需要)重启VS


T
TiTime

老问题 - 新答案:对不起,也许,冒犯的问题:你为什么要关心它。

Productivity Power Tools(Visual Studio 扩展,我还是建议使用它)-> 启用名为“Remove and Sort Usings on save”的选项/设置

没有额外的点击/键盘快捷键/手动模板修改等......因为无论如何您都必须保存文件。


s
sunefred

只是想补充一下 Sam Harwell 的出色回答。可能有多个类模板,例如 AspNetCore 在以下位置有自己的模板:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\ItemTemplates\AspNetCore\Code\1033\Class\Class.cs