Поддерживает ли С# проектное пространство имён по умолчанию, как VB.NET?
Я недавно преобразованный разработчик VB на С#, но до сих пор есть одна вещь, которую я не смог найти. В VB, когда я настраиваю новый проект, я могу указать пространства имен, используемые в проекте, и добавить их к импорту по умолчанию для всех классов (так что все автоматически имеет их, как если бы я добавлял "Imports System.Data.OracleClient" для каждого класса). С С# я обнаружил, что я всегда печатаю их для каждого нового класса. Есть ли способ настроить значения по умолчанию для проектов, чтобы он, по крайней мере, добавлял их в каждый файл класса для меня автоматически?
Ответы
Ответ 1
Нет никакого пути. С# не поддерживает концепцию импорта уровня проекта или пространства имён уровня проекта.
Единственное, что вы можете сделать, это изменить шаблон элемента, который вы используете (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 С#
Этот файл будет отображаться всякий раз, когда вы выполняете операцию "Добавить новый элемент".
Ответ 2
Другие предложили использовать шаблоны и т.д. Лично я считаю, что это просто не проблема - я набираю имя класса, который я хочу использовать в Visual Studio, и даже если он не нашел "умный тег" (или что-то еще). Я нажал Ctrl-. и он добавляет директиву для меня.
Я думаю, что ReSharper помогает сделать эту работу еще лучше, но теперь она настолько автоматическая для меня, что я больше не думаю об этом. (Я подозреваю, что разница в том, что с ReSharper я могу нажать Alt-Enter в любой точке строки, и он предложит исправление, вместо того, чтобы иметь курсор в самом имени типа для Visual Studio.)
Ответ 3
нет, там нет пространства имен в С#. Я думаю, вы, вероятно, можете сделать то же самое с шаблонами проектов или фрагментами кода.
Ответ 4
Для ответа см. этот пост.
Что в двух словах добавляет нужные вам шаблоны.
Я считаю, что вы хотите начать здесь.