Переименование TestCategory
В последних версиях Visual Studio вы можете классифицировать модульные тесты, помечая тесты атрибутами. Не имеет значения, используете ли вы MSTest или NUnit, но этот пример основан на NUnit.
[Test]
[Category("category 1")]
public void Null_IsNull()
{
Assert.IsNull(null);
}
Теперь предположим, что у меня есть около 50 тестов в category 1
, распределить по ряду файлов. Есть ли идиотский способ (*) переименовать мою категорию во что-то более наглядное?
(*): не простой поиск и замена
Вещи, которые я пробовал
Это работает, но я не чувствую себя комфортно, делая это.
2 ответа
Я думаю, что вывод заключается в том, что Visual Studio пока не имеет готового к применению идиотского способа защиты от того, что вы хотите сделать. Все для этого есть, но нет интерфейса, командной строки или промежуточного окна для этого. Другие инструменты, такие как Resharper, DevExpress CodeRush, предлагают модель расширяемости, которая проще в использовании, чем сама Visual Studio. Roslyn, новая платформа компилятора от Microsoft и редактор на ее основе, предложит функции, близкие к тому, что вы хотите в будущем.
Из этих опций я предполагаю, что функция Resharper "Поиск по шаблону" наиболее близка к тому, что вы ищете, вы даже можете сохранить свой шаблон как быстрое действие для последующего повторного использования, что довольно круто (так что довольно легко создать рефакторинг "Rename All" или быстрые действия в правильном контексте.
Кроме этого, вы можете использовать Visual Commander и написать макрос, чтобы делать то, что вам нужно. Редактор и все файлы в решении доступны через объектную модель Visual Studio.
И вы можете заглянуть в Roslyn, чтобы узнать, как это возможно в будущей версии Visual Studio.
Вероятно, это будет не совсем то, что вам нужно, но вот как я переименовываю, когда я не совсем уверен, хочу ли я переименовать все найденные экземпляры:
- Я держу левую руку на F3, чтобы найти следующее вхождение искомого термина
- Я держу правую руку на мышке и на кнопке рядом, чтобы заменить все, что заменить следующим
Затем я просто нажимаю F3, если я не хочу заменять найденный в данный момент элемент, или я нажимаю кнопку мыши на кнопке замены далее, если я хочу заменить.
Для 50 предметов я бы, вероятно, использовал вышеуказанный метод, с большим количеством предметов (или большим количеством категорий для переименования), я бы тоже искал решение.
Кроме того, сужение области действия до "Текущий документ" или открытие только тех файлов, которые необходимо переименовать, и использование "В настоящее время открытых документов" хорошо работает с описанным методом.