【问题标题】:VSCode issues with syntax highlighting for yaml headers in markdownVSCode 问题与 Markdown 中 yaml 标头的语法突出显示
【发布时间】:2017-08-17 03:57:54
【问题描述】:

我一直在使用 VSCode 和 Pandoc 编写 Markdown 文档。 VSCode 可以很好地识别并突出显示一些 YAML 标头块,但不能识别其他的。我注意到 Markdown 中 HTML cmets 的问题。

如果我在文档的最顶部使用这种样式的 YAML 标头(用破折号封闭),VSCode 似乎可以识别块的结尾,并在块关闭后回到正常的突出显示模式(见截图“scratch1.md”文件)。

---
title: Best Article Ever
author: Great Writer
---

但是,如果我使用另一种根据YAML specification,第 2.2 节结构似乎是合法的法律风格(以 ... 结尾):

---
title: Best Article Ever
author: Great Writer
...

VSCode 似乎没有看到 YAML 块已关闭,因此文档其余部分的突出显示混乱(见下面的屏幕截图)。

如果它们不在文档的最顶部,则任何一种样式都不会出现此问题(混乱的突出显示)。

在这一点上,我不确定问题出在哪里,以及我应该如何改变它。一些正确方向的指针将不胜感激。

我对 YAML 语法的理解有问题吗? VSCode中的YAML语言文件有问题吗? VSCode 中的 markdown 语言文件是否有问题(即嵌入式 YAML 的问题)? 我必须/可以通过某种语言扩展来纠正它吗?

等等

这对我来说不是很重要,但我有很多这样的遗留文档,如果更正相当简单,我想尝试一下。

提前感谢任何帮助或解释。

【问题讨论】:

    标签: visual-studio-code syntax-highlighting


    【解决方案1】:

    我致力于 VSCode 的降价支持。是的,现在你必须使用--- 来终止你的frontmatter。

    我已打开 https://github.com/Microsoft/vscode/issues/23178 以跟踪对使用 ... 作为前端终结者的支持。随时为此提交 PR。我已经添加了一些关于这将涉及的注释:https://github.com/Microsoft/vscode/issues/23178#issuecomment-289136137


    更新

    这应该在 VSCode 1.11+ 中修复

    这里是修复 PR:https://github.com/Microsoft/vscode/pull/23195

    【讨论】:

    • 抱歉耽搁了这件事。从 github 问题线程来看,您已经解决了这个问题。非常感谢您在这么小的事情上提供的帮助。
    • 是的,这应该在本周晚些时候发布的 VSCode 1.11+ 中得到修复。当前的内部人员构建已经有了修复。如果您在使用此功能时遇到任何问题,请告诉我
    • 完美。非常感谢您在这方面的帮助。
    • 哼哼。在 macOS 的 VS Code 1.29.0 中,我仍然收到带有 ... 终止符的语法高亮错误。我将在 GitHub 中提交一个错误。