在VisualStudio编辑器中将父标记替换为第一个子HTML

时间:2015-10-28 12:29:42

标签: html visual-studio resharper

我正在寻找解决问题的可能方法。可以说我得到了这个HTML

<a>
  <td>
  </td>
<a/>

我看到我犯了错误,我想以某种方式将a标记移动为td的子元素之一。结果应如下所示

<td>
   <a>
   </a>
<td/>

我的问题是,是否有任何宏观,扩展或其他东西可以使它发挥作用?例如,Resharper只建议我删除父标签并促进孩子。对我来说最好的解决方案是使用Alt +箭头,这样选定的标签就可以在其他标签之间移动,而不是仅移动带标签的单行。

1 个答案:

答案 0 :(得分:1)

不完全是。您可以使用ReSharper的重新排列代码功能( ctrl + alt + shift 和光标键)来移动标签。您可以使用向上和向下移动标记(和子标记)在当前行上方和下方的标记上方和下方。您还可以使用向左和向右移动标签进出当前标签的范围。

所以你可以把插入符号放在上面第一个例子的<td>上,按 ctrl + alt + shift + 并将整个<td></td>块移到<a>块范围之外。点击 ctrl + alt + shift + 会将其推入<a>块,再来一个孩子。

但是,当你将一个标签移出范围时,它不会交换成原始范围标记的父级,而是一个兄弟,所以你不能轻易得到你所追求的东西,遗憾的是。其他语言支持称为“贪婪大括号”的功能,这在这里是理想的 - 而不是移动整个块,移动语句的结束括号(例如if语句)并扩展内容块。理想情况下,HTML也支持这一点 - 您可以在结束标记角括号上使用“贪婪的大括号”,它只允许移动结束标记以包含兄弟标记作为子项。我添加了一项功能请求,您可以投票,跟踪并添加任何额外的详细信息到:RSRP-450292