如何在代码镜像中自动更新匹配的html / xml标记

时间:2014-12-22 13:01:06

标签: codemirror

我非常喜欢Visual Studio html编辑器如何更新匹配标记。例如:

<h2>Header</h2>

如果我们将<h2>开头标记替换为<h3>,则结束标记应自动更改为</h3>。这应该在我们输入时发生。

我正在努力实现这一点,但到目前为止还没有运气。我认为matchtags addon将是一个很好的起点,但如果标签名称不匹配,它就会停止工作。 此外,我注意到xml模式标记关闭标记为标记名称不匹配时的错误,但我不知道如何使用它来更新结束标记。

我希望得到更有经验的CodeMirror用户的帮助。

由于

1 个答案:

答案 0 :(得分:3)

因此,一旦完成编辑,您就不再拥有查找匹配标记所需的信息(这就是为了匹配标签插件无法提供帮助的原因)。一个好的解决方案可能是使用CodeMirror.findMatchingTag文件导出的addon/fold/xml-fold.js函数在编辑开始时(当光标位于标记名称时)跟踪当前匹配标记。然后,在标记名称内看起来像本地编辑的"change"事件(即它们的开始和结束位于标记名称内),立即修改匹配标记。