Переключатель перечисление автоматического заполнения
Я набирал переключатель с перечислением в VS 2013, и все операторы case заполнялись автоматически после того, как я закончил переключатель. Теперь я не могу это повторить. Я не галлюцинировал, переключатель автоматически заполнялся всеми вариантами перечисления, по одному на случай. Просмотрел MS docs для VS 2013 и не нашел его.
Я использую довольно много перечислений, и эта функция сэкономит мне массу времени, если я смогу найти то, что я сделал, чтобы вызвать его. Кто-нибудь может помочь?
8 ответов:
обратите внимание: этот ответ относится к выполнению автогенерации 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
сказал)(как
jmblack
сказал) будет генерировать что-то вроде:switch (switch_on) { default: }
а то
2) вам нужно выбрать, какую вещь перечислять (
switch_on
будет выделено еще в этот момент). Поэтому введите перечисление (или вашу переменную перечисление типа) в то время какswitch_on
выделено и нажмите [Enter] [Enter].(Я только что подтвердил, что это работает на моей машине под управлением VS2012, и я довольно уверен, что это то же самое, что я сделал на моей другой машине под управлением VS2013, и я не тестировал другие версии VS (ultimate/express/etc.))
Visual studio express 2012-без Resharper:
1) написать "переключатель"
2) Нажмите два раза вкладку, то вы увидите:switch (switch_on) { default: }
(switch_on это выделены)
3) повторно введите switch_on в свой ПЕРЕЧИСЛИМОГО типа (не переменная вашего типа перечисления, это не сработало для меня)
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", а затем нажмите кнопку double"Tab".
Если вы используете Resharper, фрагмент не работает, потому что фрагмент Resharper имеет больший приоритет по умолчанию. Итак,вы должны отключить фрагмент resharper.
перейдите в "Resharper" -> "Template Explorer"-> "C#", затем снимите флажок "switch". Попробовать "ео" + двойной "закладку"
Я написал бесплатное расширение с открытым исходным кодом, основанное на Рослин, для Visual Studio 2015 и 2017, что не только позволяет заполнить регистр коммутатора для перечисления, но также может добавлять новые случаи, если значения перечисления (поля) были добавлены в определение типа перечисления, или сортировать список случаев по значению или имени.
Это здесь: Enum Case Generator
Это как использовать это: