4

[ ]VS Code のマークダウン ファイル内で構文の強調表示を選択したいと考えています。

[ ]次を使用してターゲットを設定できますregex: (?<=\s)\]|\[(?=\s). ただし[ ]、見出しの一部である場合は一致しません。

最小限の例として、package.json次のものがあります。

"contributes": {
    "grammars": [
        {
            "scopeName": "markdown.todo",
            "path": "./syntaxes/todo.markdown.json",
            "injectTo": ["text.html.markdown"]
        }
    ]
}

次に、todo.markdown.json私は持っています:

{
    "scopeName": "markdown.todo",
    "injectionSelector": "L:text.html.markdown",
    "patterns": [
        { "include": "#item-todo" }
    ],
    "repository": {
        "item-todo": {
            "name": "item.todo",
            "match": "(?<=\\s)\\]|\\[(?=\\s)"
        }
    }
}

最後に、VS Codesettings.jsonで次を使用して色を適用します。

"editor.tokenColorCustomizations": {
    "textMateRules": [
        {
            "scope": "item.todo",
            "settings": {
                "foreground": "#FF0000"
            }
        }
    ]
}

以下で選択されていることがわかりますが[ ]、見出し内にある場合はそうではありません。

ここに画像の説明を入力

トークンとスコープを調べると、いくつかのtextmate scopes. markup.headingこれが関連しているかどうかはわかりませんが、VS Code はスコープに基づいてマークダウンの見出しを強調表示しているようです。ただし、配列markup.headingには存在しません。textmate scopes

ここに画像の説明を入力

"injectionSelector": "L:heading.1.markdown"and/orに変更しようとしまし"injectTo": ["heading.1.markdown"]たが、どのセレクターを指定しても[ ]、見出し内で一致できないようです。

4

0 に答える 0