Ответ 1
Использовать код snipped sw (вкладка) (вкладка)
Надеюсь, что это поможет,
Я вводил переключатель с перечислением в VS 2013, и все заявления о случаях заполнялись автоматически после того, как я закончил коммутатор. Теперь я не могу повторить это. Я не галлюцинировал, переключатель заполнил все варианты перечисления, по одному на случай, автоматически. Просмотрели документы MS для VS 2013 и не нашли его.
Я использую довольно много перечислений, и эта функция сэкономит мне массу времени, если я смогу найти то, что я сделал, чтобы вызвать ее. Может ли кто-нибудь помочь?
Использовать код snipped sw (вкладка) (вкладка)
Надеюсь, что это поможет,
Примечание: Этот ответ применяется к выполнению автогенерации switch/enum при использовании Resharper.
Используя Visual Studio 2013 и Resharper 8.2, ранее упомянутые методы не работают. Здесь, как фактически заставить это поколение работать при использовании Resharper. Надеюсь, это спасет кого-то пятнадцать минут, которые я только что потратил на это.
Выполнение "sw (tab) (tab)" будет генерировать только следующее:
switch (nameOfEnumVariable)
{
}
Resharper может генерировать метки с помощью Alt + Enter (если ваш курсор стоит в инструкции switch) и выберите Создать метки переключателя, как показано на следующем снимке экрана:
Результат выглядит следующим образом:
Выбранный ответ в основном правильный, вам не нужен Resharper, как предложили другие (по крайней мере, не с Visual Studio Professional 2012+).
1) введите "sw", затем "[tab] [tab]" (как Marvin Smit
said)
Какой (как jmblack
сказал) будет генерировать что-то вроде:
switch (switch_on)
{
default:
}
но затем
2) вам нужно выбрать, какую вещь перечислить (switch_on
будет выделен еще на этом этапе). Поэтому введите Enum (или вашу переменную типа перечисления), а switch_on
- highlited и нажмите [Enter] [Enter].
(Я только что подтвердил, что это сработало на моей машине, работающей на VS2012, и я уверен, что это то же самое, что я сделал на моей другой машине под управлением VS2013, и я не тестировал другие версии VS (конечный/экспресс/др.))
Визуальная студия Express 2012 - без Решарпер:
1) написать "переключатель"
2) дважды нажмите TAB, после чего вы увидите:
switch (switch_on)
{
default:
}
(выделено switch_on)
3) повторно введите switch_on для вашего типа ENUM (не является переменной вашего типа enum, у меня это не сработало)
4) щелкните где-нибудь еще или нажмите Enter, теперь вы должны увидеть все заполненные элементы перечисления:
switch (YOUR_ENUM_TYPE)
{
case YOUR_ENUM_TYPE.Item1:
break;
case YOUR_ENUM_TYPE.Item2:
break;
case YOUR_ENUM_TYPE.Item3:
break;
default:
break;
}
5) не забудьте изменить вход вашего переключателя..
По умолчанию фрагмент Visual Studion работает правильно. Вы должны ввести "sw", а затем нажать двойную "Tab".
Если вы используете Resharper, фрагмент не работает, потому что у параметра Resharper более высокий приоритет, по умолчанию. Итак, вы должны отключить фрагмент resharper.
Перейдите в "Resharper" → "Проводник шаблонов" → "С#", затем снимите флажок "Переключатель". Попробуйте "sw" + double "Tab"
Я написал бесплатное расширение с открытым исходным кодом на основе Roslyn для Visual Studio 2015 и 2017, что не только позволяет заполнить регистр коммутатора для перечисления, но также может добавлять новые случаи, если значения enum (поля) были добавлены в определение типа перечисления или отсортированы по списку случаев по значению или имени.
Он доступен здесь: Генератор событий Enum
Вот как это использовать:
Я думаю, что вам нужно следующее:
sw(tab)(tab)enumVariableName(tab)(downArrow)
Я тестировал его и работал (по крайней мере, в VS2013).
Привет, я просто столкнулся с той же проблемой, я только что узнал, что когда вы делаете:
switch(nameofvariable){
default:
break;
}
когда вы заполняете переменную, и вы дважды щелкаете по переменной по вашему выбору (перечисление), она даст вам все случаи
VS 2019 + resharper создайте пустой переключатель с вашей переменной. Нажмите на первую фигурную скобку "{", затем нажмите alt + enter. Вы увидите Сгенерировать метки переключателей. Снимок экрана ниже: