¿Importa C # Support Project-Wide Default Namespace Imports Like VB.NET?

Soy un desarrollador de VB recientemente convertido a C #, pero hay una cosa hasta ahora que no he podido encontrar. En VB cuando configuro un nuevo proyecto, puedo especificar los espacios de nombres utilizados en el proyecto y agregarlos a las importaciones predeterminadas para todas las clases (para que todo los tenga automáticamente como si hubiera agregado “Imports System.Data.OracleClient” a cada clase). Con C # descubrí que siempre estoy escribiendo esto para cada clase nueva. ¿Hay alguna manera de configurar los valores predeterminados para los proyectos, por lo que al menos los agrega automáticamente a cada archivo de clase?

No, no hay forma. C # no admite el concepto de importaciones a nivel de proyecto o espacios de nombres de nivel de proyecto.

Lo único que puede hacer es modificar la plantilla del artículo que está utilizando (Class.cs o Code.cs) para tener los espacios de nombres que le gustaría. Estos archivos se encuentran en el siguiente directorio

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

Debajo, debería ver un directorio Class.zip y Code.zip cada uno con un archivo .cs debajo de ellos. Este es el archivo de plantilla utilizado cuando se realiza una operación de “Agregar nuevo elemento” en Visual Studio. Puede cambiar estos para satisfacer sus necesidades y tener los espacios de nombres predeterminados que desee.

Sin embargo, una solución un poco más fácil es agregar un archivo de código por usuario para el proyecto en particular que desee. Simplemente cree un archivo de código que desee que sea la plantilla para su aplicación y luego colóquelo en el siguiente directorio.

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

Este archivo se mostrará cada vez que realice una operación “Agregar nuevo elemento”.

Otros han sugerido usar plantillas, etc. Personalmente, creo que no es un problema. Tecleo el nombre de la clase que quiero usar en Visual Studio, e incluso si no se encuentra el ícono de “etiqueta inteligente” (o lo que se llame) aparece. Presiono Ctrl-. y agrega una directiva de uso para mí.

Creo que ReSharper ayuda a hacer que esto funcione aún mejor, pero es tan automático para mí ahora que ya no lo pienso mucho más. (Sospecho que la diferencia es que con ReSharper puedo presionar Alt-Enter en cualquier punto de la línea y ofrecerá la corrección, en lugar de tener que tener el cursor en el nombre del tipo mismo para Visual Studio.)

no, no hay mis espacios de nombres en C #. Creo que probablemente puedas lograr lo mismo con plantillas de proyecto o fragmentos de código.

Vea esta publicación para la respuesta ..

Lo cual, en pocas palabras, es agregar los usos que desea a una plantilla.

Creo que quieres comenzar aquí .