Mih*_*hai 5 markdown visual-studio-code tmlanguage vscode-extensions
我想[ ]在 VS Code 的 Markdown 文件中选择语法突出显示。
我可以使用[ ]以下目标regex:(?<=\s)\]|\[(?=\s)但是,[ ]当它是标题的一部分时,不会匹配。
作为一个最小的例子,package.json我有以下内容:
"contributes": {
"grammars": [
{
"scopeName": "markdown.todo",
"path": "./syntaxes/todo.markdown.json",
"injectTo": ["text.html.markdown"]
}
]
}
Run Code Online (Sandbox Code Playgroud)
然后,在todo.markdown.json我有:
{
"scopeName": "markdown.todo",
"injectionSelector": "L:text.html.markdown",
"patterns": [
{ "include": "#item-todo" }
],
"repository": {
"item-todo": {
"name": "item.todo",
"match": "(?<=\\s)\\]|\\[(?=\\s)"
}
}
}
Run Code Online (Sandbox Code Playgroud)
最后,在 VS Code 中settings.json我使用以下方法应用颜色:
"editor.tokenColorCustomizations": {
"textMateRules": [
{
"scope": "item.todo",
"settings": {
"foreground": "#FF0000"
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
我可以在下面看到它[ ]被选中,但当它在标题内时则不会。
当我检查令牌和范围时,我看到几个textmate scopes. 我不确定这是否相关,但 VS Code 似乎根据范围突出显示了 markdown 标题markup.heading。但是,markup.heading不存在于textmate scopes数组中。
我尝试更改为"injectionSelector": "L:heading.1.markdown"and/ or "injectTo": ["heading.1.markdown"],但无论我指定什么选择器,我似乎都无法[ ]在标题内匹配。
| 归档时间: |
|
| 查看次数: |
521 次 |
| 最近记录: |