Автоматическое добавление пространства имен при добавлении нового элемента

при добавлении нового элемента (класса, элемента управления и т. д.) В C# он автоматически добавит пространство имен в файл в зависимости от местоположения в проекте.

это также доступно для VB.NET?

Dataclasses пространства имен кода.AX" и "End Namespace" будут созданы.

Namespace DataClasses.AX
    <Serializable()> _
    Public Class AxInventItem

#Region " Constructors "
        Sub New()

        End Sub
#EndRegion
    End Class
End Namespace

4 ответов


вы не говорите, какую версию visual studio вы используете, но это выполнимо по умолчанию с VS2008.

Гото : C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\VisualBasic\Code33\Class.zip (если этого не существует, я отправлю вам содержимое моего).

внутри вы найдете два файла: Class.vb и Class.vstemplate

открыть Class.vb (я извлек его и отредактировал в notepad++, но все будет делать). Измените его следующим образом:

Namespace $itemfolder$

    Public Class $safeitemname$

    End Class

End Namespace

закрыть Visual stuid (все экземпляры)

сохранить и заменить один внутри свист.

Откройте командную строку (проще всего использовать командную строку visual studio) и выполните следующие действия:

devenv.exe /InstallVSTemplates

откройте Visual Studio еще раз, создайте пустой проект и добавьте папку в проект, а также добавьте класс внутри папки, и вы автоматически добавите пространство имен в файл класса.

редактировать

класса.В. Б.:

Namespace $itemfolder$

    ''' <summary>
    ''' 
    ''' </summary>
    ''' <remarks>Class Created by $username$ on $date$</remarks>
    Public Class $safeitemname$

    End Class

End Namespace

класса.расширением vstemplate:

<VSTemplate Version="3.0.0" Type="Item" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
  <TemplateData>
    <Name Package="{164B10B9-B200-11D0-8C61-00A0C91E29D5}" ID="3020" />
    <Description Package="{164B10B9-B200-11D0-8C61-00A0C91E29D5}" ID="3021" />
    <Icon Package="{164B10B9-B200-11D0-8C61-00A0C91E29D5}" ID="4510" />
    <ProjectType>VisualBasic</ProjectType>
    <SortOrder>100</SortOrder>
    <DefaultName>Class.vb</DefaultName>
    <NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>
    <TemplateID>Microsoft.VisualBasic.Code.Class</TemplateID>
    <RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
  </TemplateData>
  <TemplateContent>
    <ProjectItem ReplaceParameters="true">Class.vb</ProjectItem>
  </TemplateContent>
  <WizardExtension>
    <Assembly>VBClassTemplateWizard, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=f12a64f29cf5aee5</Assembly>
    <FullClassName>VBClassTemplates.VBClassReplacements</FullClassName>
  </WizardExtension>

</VSTemplate>

и я думаю, вы можете использовать шаблон T4, чтобы сделать то же самое, или адаптировать тот, который есть. Но T4 еще не очень открыт. насколько я знаю.


это доступно как часть Resharper, где вы можете создавать шаблоны для этого.

Это стандартный шаблон.

Namespace $NAMESPACE$
    Public Class $CLASS$ 
        $END$
    End Class
End Namespace

Visual Studio 2012: В свойствах проекта на вкладке приложение есть поле пространство имен по умолчанию. Это автоматически добавляется в файлы внутри проекта.

поэтому, когда вы хотите ссылаться на что-то в другом проекте, вы можете импортировать пространство имен, определенное там. Таким образом, в основном нет необходимости манипулировать каким-либо шаблоном, я думаю.