我想选择一个Iterable,按下Alt + Shift + Z以获取“Surround With”上下文菜单,并显示一个foreachwrap模板,该选择模板将以适当的格式将选择包装在每个循环中。
例如,我想选择
someObject.getSomeList()
并生成此
for (SomeListType someListType : someObject.getSomeList()) {
}
我尝试过类似的东西,但它似乎不起作用:
for( ${t:elemType(ls)} ${:name(t)} : ${ls:line_selection} )
{
${cursor}
}
答案 0 :(得分:5)
在Win / Lin上使用QuickFix {Ctrl+1
或在Mac上使用Cmd+1
。
您可以使用以下方法获得所需的行为:
编写返回可迭代集合的语句,例如
someObject.getSomeList()
按Ctrl+1
(Mac上为Cmd+1
)并选择Assign statement to a new local variable
(此操作甚至可以直接组合(Mac上为Cmd + 2 L),但是,如果你想使用它,它可能取决于你想记住多少不同的组合)
只写
fore
然后再次按Ctrl+1
(Cmd+1
),然后选择Iterate over an array or iterable
(只需在出现quickfix菜单后立即按Enter键)就可以得到如下内容:
for (Content content : someList) {
}
您现在甚至可以内联局部变量的用法来再次删除它(当然使用QuickFix)。 QuickFix非常强大,因为该功能已经发布,我几乎没有使用任何模板。