C#支持像VB.NET一样的项目范围默认命名空间导入吗?

我是最近转换到C#的VB开发人员,但迄今为止,我还没有find一件事情。 在VB中,当我设置一个新的项目,我可以指定在项目中使用的名称空间,并将它们添加到所有类的默认导入(所以一切都自动具有,就像我添加“Imports System.Data.OracleClient”到每个类)。 用C#我发现我总是为每个新类input这些内容。 有没有一种方法来设置项目的默认值,所以它至less自动将这些附加到我的每个类文件?

不,没有办法。 C#不支持项目级别导入或项目级别名称空间的概念。

你可以做的唯一的事情就是改变你正在使用的项目模板(Class.cs或Code.cs)来获得你想要的命名空间。 这些文件位于以下目录下

%ProgramFiles%\ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ itemtemplatescache \ CSharp \ Code \ 1033

在这里你应该看到一个Class.zip和Code.zip目录,每个目录下都有一个.cs文件。 这是在Visual Studio中执行“添加新项”操作时使用的模板文件。 您可以更改这些以满足您的需求并拥有您想要的默认名称空间。

一个稍微简单的解决scheme,虽然是为每个用户添加一个代码文件,你想要的特定项目。 只需创build一个代码文件,将其作为您的应用程序的模板,然后将其放置在以下目录中。

C:\ Users \ YourUserName \ Documents \ Visual Studio 2008 \ Templates \ ItemTemplates \ Visual C#

这个文件现在将显示出来,每当你做一个“添加新项目”操作。

其他人都build议使用模板等,我个人觉得这不是一个问题 – 我想inputVisual Studio中使用的类的名称,即使没有find“智能标签”(或任何它所称的)图标popup。 我按Ctrl-。 并为我添加一个使用指令。

我认为ReSharper有助于使这项工作变得更好,但是现在对我来说是非常自动化的,所以我现在不再想这个了。 (我怀疑是不同的是,用ReSharper我可以在行中的任何点击Alt-Enter,它会提供更正,而不必在Visual Studio的types名称本身的游标。

不,在C#中没有我的命名空间。 我想你可以使用项目模板或代码片段完成同样的事情。

看到这个post的答案..

简而言之,其中就是将所需的用途添加到模板中。

我相信你想从这里开始。