新 C# 文件中的默认 using 指令

Default using directives in new C# files

提问人:compie 提问时间:3/17/2009 更新时间:3/2/2018 访问量:15663

问:

为什么 Visual Studio 2008 会自动将以下 using 指令插入到我创建的每个新 C# 文件中?

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

这些命名空间有什么特别之处?这些是最常用的吗?

visual-studio 默认 using 指令

评论

0赞 raminjacobson 8/9/2012
Visual Studio 2010 的 PowerCommands visualstudiogallery.msdn.microsoft.com/...

答:

37赞 Jon Skeet 3/17/2009 #1

是的,它们经常使用,仅此而已,因此 MS 将它们放在 Visual Studio 模板中。就我个人而言,我经常使用“排序并删除未使用的用途”,因此它们经常消失。

如果要删除它们,可以修改“新类”模板

编辑:如果您成为“排序和删除未使用的使用指令”的粉丝,您应该掌握 Visual Studio 的 PowerCommands - 它添加了一个解决方案资源管理器上下文菜单项来为整个项目执行此操作,而不仅仅是一个文件:)

评论

0赞 T.J. Crowder 12/13/2012
嘿乔恩,修改“新类”模板链接似乎已经死了。是沿着这些思路还是有所改善?(必须编辑 zip 文件只是为了更改默认导入,这似乎是彻头彻尾的野蛮。
0赞 Jon Skeet 12/13/2012
@T.J.Crowder:恐怕我真的不记得 3 1/2 年前的页面是什么样子的......但听起来可能大致相同,是的。
0赞 pim 5/10/2018
很好的答案,乔恩,像往常一样。不过,我更喜欢 CodeMaid 而不是 PowerCommands!
4赞 Andrew Flanagan 3/17/2009 #2

如果您愿意,可以更改它们。有关详细信息,请参阅此处

--- 以下是链接停止时文章的主要部分。---

如果打开 ,则可以修改用于生成所有新 C# 源文件的文件 - 如下所示:%Program Files%\Microsoft Visual Studio 8\Common7\IDE\ItemTemplates\CSharp\1033\Class.zipclass.cs

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

namespace $rootnamespace$
{
    class $safeitemrootname$
    {
    }
}

然后,您可以在此文件顶部添加或删除所需的 using 指令,并将其保存回存档。最后,运行以刷新 Visual Studio 的模板缓存。现在,您创建的所有新 C# 文件都应与修改后的模板匹配。%Program Files%\Microsoft Visual Studio 8\Common7\IDE\devenv.exe /setup

2赞 Guffa 3/17/2009 #3

这是在该特定类型的项目中选择的新文件模板中的命名空间。不同类型的项目具有不同的模板,因此具有不同的使用指令集。只是根据该类型的文件所需的内容以及您可能使用的内容来选择 using 指令。

using 指令只告诉编译器在哪里查找类,因此使用代码不一定需要的指令并没有什么坏处,只要它们不会引起任何冲突(模棱两可的类名)。

如果在文件中单击鼠标右键并打开子菜单,则会找到可用于删除文件中不需要的 using 指令的选项。Organise UsingsRemove Unused Usings

评论

0赞 Jon Skeet 3/17/2009
好吧,我想说的是,在可读性方面存在伤害。我认为保持使用指令列表整洁是个好主意 - 因此删除未使用的 Usings(以及排序和删除版本)的好处。