Шаблоны T4 -избегайте пустых строк из включенных файлов

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

<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ output extension=".ttinclude" #>
<#@ Import Namespace="System.Collections.Generic" #>
<#@ Include file="Includes.tt" #>
namespace <#= NameSpace #>
{

Если в файлеInclude.tt перечислены 3 других файла *.tt, я получаю 3 пустые строки перед пространством имен. По мере того, как я добавляю код и разбиваю его на отдельные *.tt-файлы, это пустое пространство продолжает расти. На самом деле я упаковал все включаемые файлы в один файлIncludes.tt, надеясь, что это будет стоить мне всего одной пустой строки. Это не так. Я по-прежнему получаю одну пустую строку для каждого файла, указанного вInclude.tt. Есть ли способ избежать этого?

Редактировать :предполагая, что я не совершаю глупой ошибки (и искренне надеюсь, что это так ),проблема не так тривиальна, как может показаться на первый взгляд:

a )Повторное использование и модульность через включенные файлы T4 так же стары, как и сам T4, и упоминались в последней статье журнала MSDN :«Управление сложностью в T4». Код -Генерация решений».

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

c )С текущим решением, в моем случае, для каждого сгенерированного файла.cs читателю придется прокручивать одну пустую страницу, пока он не увидит сгенерированный текст. Все потому, что я разделил генерацию кода между несколькими включенными файлами.tt. Это просто не кажется правильным.

19
задан Tony 7 May 2012 в 22:00
поделиться