我是最近转换为C#的VB开发人员,但到目前为止还有一件事我无法找到.在VB中,当我设置一个新项目时,我可以指定项目中使用的命名空间,并将它们添加到所有类的默认导入中(因此所有内容都自动拥有它们,就好像我为每个类添加了"Imports System.Data.OracleClient").使用C#我发现我总是为每个新类输入这些内容.有没有办法为项目设置默认值,所以它至少会自动将它们附加到每个类文件中?
Jar*_*Par 15
不,没有办法.C#不支持项目级别导入或项目级别命名空间的概念.
您唯一能做的就是更改您正在使用的项目模板(Class.cs或Code.cs)以获得您想要的命名空间.这些文件位于以下目录下
%ProgramFiles%\ Microsoft Visual Studio 9.0\Common7\IDE\itemtemplatescache\CSharp\Code\1033
在这里,你应该看到一个Class.zip和Code.zip目录,每个目录下都有一个.cs文件.这是在Visual Studio中执行"添加新项"操作时使用的模板文件.您可以更改这些以满足您的需求并拥有您想要的默认命名空间.
稍微简单的解决方案是为您喜欢的特定项目添加每用户代码文件.只需创建一个您希望成为应用程序模板的代码文件,然后将其放在以下目录中.
C:\ Users\YourUserName\Documents\Visual Studio 2008\Templates\ItemTemplates\Visual C#
现在,只要执行"添加新项"操作,就会显示此文件.
其他人建议使用模板等.我个人认为这不是问题 - 我在Visual Studio中输入要使用的类的名称,即使没有找到"智能标记"(或其他任何名称)图标弹出.我按下Ctrl-.它为我添加了一个using指令.
我认为ReSharper有助于使这项工作变得更好,但现在对我来说这是自动的,我现在不再考虑它了.(我怀疑不同的是,使用ReSharper我可以在行中的任何一点点击Alt-Enter并且它将提供校正,而不是必须将光标放在Visual Studio的类型名称中.)
对于 C# 10,这个答案已经改变。
C# 10 引入了全局 using 指令:
全局使用指令
您可以将全局修饰符添加到任何 using 指令,以指示编译器该指令适用于编译中的所有源文件。这通常是项目中的所有源文件。