切换枚举自动填充
我在VS 2013中input了一个枚举types的开关,并在完成切换后自动填写所有case语句。 现在我不能重复。 我没有幻觉,交换机会自动填写所有的枚举选项,每个选项一个。 通过MS文档看VS 2013并没有find它。
我使用了不less枚举,如果能find触发它的function,这个function将为我节省大量的时间。 谁能帮忙?
使用代码sn sw(tab)(tab)
希望这可以帮助,
注意:这个答案适用于执行开关/枚举自动生成,同时也使用Resharper。
使用Visual Studio 2013和Resharper 8.2,前面提到的方法不起作用。 以下是如何使用Resharper实际使这一代工作。 希望这能帮我省下十五分钟的时间。
执行“sw(制表符)(制表符)”只会生成以下内容:
switch (nameOfEnumVariable) { }
Resharper可以使用Alt + Enter (如果你的光标站在switch语句中)并且selectGenerate switch labels ( 生成开关标签 )来生成标签 ,如下图所示:
结果如下所示:
所选的答案大部分是正确的,你不需要像其他人所build议的那样使用Resharper(至less不是Visual Studio Professional 2012+)。
1)键入“sw”然后“[tab] [tab]”(正如Marvin Smit
所说)
其中(正如jmblack
所说)会产生类似于:
switch (switch_on) { default: }
但是之后
2)你需要select枚举的东西( switch_on
在这一点上仍然会突出显示)。 所以当switch_on
被switch_on
inputEnum(或枚举types的variables), switch_on
[Enter] [Enter]。
(我刚刚证实这个工作在我的机器上运行VS2012,我相当肯定,这是我在我的另一台机器上运行VS2013做了同样的事情,我还没有testing其他版本的VS(最终/快递/等。 ))
Visual Studio Express 2012 – 无Resharper:
1)写“开关”
2)按两次TAB,然后你会看到:
switch (switch_on) { default: }
(switch_on高亮)
3)重新键入switch_on到你的ENUMtypes (不是你的枚举types的variables,它不适用于我)
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)不要忘记改变你的开关的input。
默认情况下,Visual Studion的代码段工作正确。 你应该input“sw”然后按双“Tab”。
如果您使用Resharper,则片段不起作用,因为默认情况下,Resharper的片段具有更多优先级。 所以,你应该closuresresharper的片段。
转到“Resharper” – >“模板资源pipe理器” – >“C#”,然后取消select“开关”。 尝试“sw”+双“Tab”
我已经为Visual Studio 2015和2017编写了一个基于Roslyn的免费和开放源代码的扩展,它不仅允许为一个枚举填充开关案例,而且还能够在枚举值(字段)的情况下添加新案例已被添加到枚举types定义中,或按值或名称对案例列表进行sorting。
这是可用的: Enum Case Generator
这是如何使用它:
我认为你需要的是这样的:
sw(tab)(tab)enumVariableName(tab)(downArrow)
我testing了它并且工作(至less在VS2013中)。
嗨,我刚刚遇到了同样的问题,我刚刚发现,当你这样做:
switch(nameofvariable){ default: break; }
当你填充variables,你双击你select的variables(枚举),它会给你所有的情况