Есть ли способ создать несколько файлов через один шаблон / макрос с помощью Resharper? - PullRequest
6 голосов
/ 14 января 2012

Когда я пишу свои API для приложений, я всегда следую установленному шаблону (кто не знает !?), который выглядит следующим образом:

User (Folder/Namespace)
    User.cs
    UserDao.cs
    UserDaoFactory.cs
    UserService.cs
    UserServiceFactory.cs

Я знаю, что у Resharper есть шаблоны файлов, которые я уже использую, но этобыло бы здорово, если бы мне не нужно было добавлять каждый файл по отдельности, что может быть очень утомительно, когда вы работаете с более чем 30 объектами в приложении.Если вы не можете сделать это с помощью Resharper, есть ли какой-нибудь макрос для Visual Studio, который будет выполнять ваши шаблоны файлов для обработки файлов?

Ответы [ 3 ]

6 голосов
/ 14 января 2012
  1. Создайте все эти классы в одном файле (если хотите, создайте шаблон файла, содержащий набор стандартных классов)
  2. Напишите свою логику
  3. Нажмите Shift+ Alt + L для фокусировки на файле в обозревателе решений
  4. Нажмите Ctrl + Shift + R , чтобы отобразить Измените это меню со списком применимыхrefactorings.
  5. Выберите Переместите типы в совпадающие файлы , завершите мастер рефакторинга и просмотрите классы, разделенные на отдельные файлы.
  6. Чтобы поместить все вновь созданные классы впапку, выберите их в Solution Explorer и снова вызовите Refactor this .
  7. На этот раз выберите Move to Folder .
  8. Укажите имяНовая папка в мастере рефакторинга, нажмите Создайте эту папку и завершите работу мастера.
2 голосов
/ 07 ноября 2013

Похоже, что R # 8 добавил эту функцию

Со страницы справки Resharper

Начиная с ReSharper 8.0, каждый шаблон файла может добавить более одногофайл, когда он применяется.Это> может быть полезно для WPF, Web и других проектов, где связанные данные могут быть сохранены в разных файлах.

Вот несколько вещей, которые вам нужно знать о многофайловых шаблонах:

  • Шаблон файла всегда включает один основной файл и, необязательно, любое количество дополнительных файлов.Поэтому, как только вы добавляете вторичный файл в любой шаблон файла, вы получаете многофайловый шаблон.
  • При добавлении вторичного файла вы можете ссылаться на любой существующий шаблон файла (опция Добавить файл из существующего шаблона).Обратите внимание, что если указанный шаблон также имеет несколько файлов, то при применении шаблона будет добавлен только основной файл указанного шаблона.
  • Набор параметров охватывает все файлы многофайлового шаблона.То есть, если вы используете один и тот же параметр $ PARAM $ в нескольких файлах многофайлового шаблона, он будет иметь одинаковое значение во всех связанных файлах при применении шаблона.
  • Если многофайловые шаблоны имеют редактируемые параметры, сеанс Hot Spot, который развертывается при применении этого шаблона, проведет вас через все созданные файлы, где требуется ввод пользователя.
0 голосов
/ 26 сентября 2013

Я бы рассмотрел использование шаблонов .tt с ReSharper.

  1. создать мастер-файл с помощью ReSharper.
  2. использование одного или нескольких файлов tt для автоматической генерации зависимых (.partial.cs) файлов с частичным ключевым словом в нем.
  3. расширять сгенерированные классы, если необходимо.
...