Автоматически создавать файл .cs из класса в Visual Studio 2010 - PullRequest
13 голосов
/ 27 июля 2011

Я часто кодирую таким образом, что я помещаю несколько классов в один файл cs, чтобы мой код работал, и затем в какой-то момент я хочу переместить каждый класс в отдельный файл .cs в моем проекте C #, но я должен сделатьэто вручную путем создания файла для каждого класса, вырезания и вставки класса в новый файл, а затем разрешения необходимого пространства имен по одному для каждого файла.Без удовольствия!

Можно ли просто щелкнуть правой кнопкой мыши по классу и заставить Visual Studio автоматически перемещать класс в новый файл в дереве проекта?Я имею в виду, не могли бы вы предоставить такой макрос / фрагмент (или как он называется :)) и инструкции по его добавлению в Visual Studio 2010?

Ответы [ 4 ]

22 голосов
/ 01 декабря 2013

Если кто-то ищет облегченное решение этой проблемы, я нашел бесплатное расширение Move Type To File специально для этой цели.

http://visualstudiogallery.msdn.microsoft.com/5746c6ea-1f92-43f0-8bab-ec6f8573cd6a

10 голосов
/ 27 июля 2011

Я думаю, Resharper обладает нужной вам функциональностью (плюс многое другое).

2 голосов
/ 16 ноября 2017

Visual Studio 2017 теперь имеет функцию рефакторинга кода, которая включает в себя перемещение класса в его собственный файл.

  • Например, вы можете щелкнуть правой кнопкой мыши класс «Foo» и выбрать «Быстрые действия и рефакторинги».(или сочетание клавиш Ctrl +)
  • Затем выберите «Переместить тип в foo.cs»
1 голос
/ 12 ноября 2012
  1. Ctrl M + M, чтобы свернуть структуру, в которой вы находитесь (класс / интерфейс)
  2. Ctrl X, вырезать свернутую структуру
  3. Shift + Alt + C, создать новую CS(файл класса, но вы также можете использовать его для одинаковых интерфейсов)
  4. Введите имя файла Class / Interfaces в поле
  5. Скопируйте пустой класс, страница вниз, сдвиг вверхстрелка, выберите класс, Ctrl V

6. Измените пространство имен, если хотите (необязательно)

Это также работает с предыдущей и текущей версией (2012) VS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...