我真的很喜欢 Visual Studio html 编辑器更新匹配标签的方式。示例:
<h2>Header</h2>
如果我们替换<h2>
开始标签为 <h3>
,那么结束标记应自动更改为 </h3>
。这应该在我们键入时发生。
我正在尝试自己实现这一点,但到目前为止还没有成功。我认为 matchtags 插件将是一个很好的起点,但如果标签名称不匹配,它就会停止工作。 另外,我注意到 xml 模式将结束标记标记为标记名称不匹配的错误,但我不确定如何使用它来更新结束标记。
如果有经验的 CodeMirror 用户提供任何帮助,我将不胜感激。
谢谢
最佳答案
因此,一旦编辑完成,您就不再拥有查找匹配标签所需的信息(这就是为什么 matchtag 插件无法再提供帮助的原因)。一个好的解决方案可能是在编辑开始时(当光标位于标签名称中时)使用由 addon/fold/xml- 导出的
文件。然后,对于看起来像标记名称内本地编辑的“更改”事件(即它们的开始和结束位于标记名称内),立即通过修改匹配标记来跟进。CodeMirror.findMatchingTag
函数来跟踪当前匹配的标签。 Fold.js
关于codemirror - 如何在 Code Mirror 中自动更新匹配的 html/xml 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27603251/