我在VS 2013中键入了一个带枚举的开关,所有case语句在我完成切换后自动填写。现在我不能重复了。我没有产生幻觉,开关填充了所有枚举选项,每个案例一个,自动。查看了VS 2013的MS文档但没有找到它。
我使用了很多枚举,如果我能找到触发它的功能,这个功能可以节省大量时间。有人可以帮忙吗?
答案 0 :(得分:98)
注意:此答案适用于在使用Resharper时执行切换/枚举自动生成。
使用Visual Studio 2013和Resharper 8.2,前面提到的方法不起作用。以下是使用Resharper时如何实际使这一代工作。希望它可以拯救某人十五分钟,我只是想把它弄清楚。
执行“sw(tab)(tab)”只会生成以下内容:
switch (nameOfEnumVariable)
{
}
Resharper可以使用 Alt + Enter 生成标签(如果光标位于switch语句中)并选择生成切换标签,如下面的屏幕截图所示:
结果如下:
答案 1 :(得分:75)
使用代码段sw(tabtab)
希望这有帮助,
答案 2 :(得分:18)
选择的答案大多是正确的,你不需要像其他人建议的那样使用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(终极/快递) /等))
答案 3 :(得分:14)
Visual Studio express 2012 - 没有Resharper:
1)写“开关”
2)按两次TAB,然后你会看到:
switch (switch_on)
{
default:
}
(switch_on为highlited)
3)将switch_on重新键入 ENUM类型(不是枚举类型的变量,它对我不起作用)
4)点击其他地方或按回车键,现在您应该看到所有枚举项目已填写:
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)不要忘记更改开关的输入..
答案 4 :(得分:3)
默认情况下,Visual Studion的代码段正常。您应键入“sw”,然后按“Tab”键。
如果您使用Resharper,则代码段不起作用,因为Resharper的代码段默认情况下具有更高的优先级。所以,你应该关闭resharper的片段。
转到“Resharper” - > “模板资源管理器” - > “C#”然后取消选中“切换”。尝试“sw”+双“Tab”
答案 5 :(得分:3)
我为Visual Studio 2015和2017编写了一个基于Roslyn的免费开源扩展程序,它不仅可以填充枚举的开关案例,而且还可以添加新案例,如果枚举值(字段)已添加到枚举类型定义中,或按值或名称对案例列表进行排序。
可以在这里找到:Enum Case Generator
这是如何使用它:
答案 6 :(得分:2)
我认为你需要的是:
sw(tab)(tab)enumVariableName(tab)(downArrow)
我测试了它并且工作(至少在VS2013中)。
答案 7 :(得分:2)
答案 8 :(得分:1)
嗨,我刚遇到同样的问题,我刚刚发现你做的时候:
switch(nameofvariable){
default:
break;
}
当你填充变量并双击你选择的变量(枚举)时,它会给你所有的情况