Код Visual Studio: комментарии не обнаруживаются при попытке добавить поддержку нового языка / типа файла - PullRequest
0 голосов
/ 28 апреля 2018

Итак, я работаю над исследовательским проектом, который предполагает использование очень специфического программного обеспечения, использующего свой собственный тип файла; XPPAUT с использованием файлов .ode. Чтобы я и моя команда неврологов не пытались с этим справиться, я решил написать подсветку синтаксиса для этих файлов .ode.

Для начала я просто хотел иметь возможность распознавать и раскрашивать линейные комментарии, которые обозначены #, как в Python, однако, когда я запускаю среду разработки, комментарии не выделяются цветом, который я установил для своего разработчика рабочее пространство для использования или выделены вообще. Я очень новичок в этом, поэтому любая помощь будет оценена.

Вот мой package.json файл

{
    "name": "ode",
    "displayName": "XPP ODE",
    "description": "ODE files to be used with XPP/XPPAUT",
    "version": "0.0.1",
    "publisher": "wjmccann",
    "engines": {
        "vscode": "^1.22.0"
    },
    "categories": [
        "Languages"
    ],
    "contributes": {
        "languages": [{
            "id": "xpp",
            "aliases": ["XPP ODE", "XPP", "XPPAUT"],
            "extensions": [".ode"],
            "configuration": "./language-configuration.json"
        }],
        "grammars": [{
            "language": "xpp",
            "scopeName": "source.xpp",
            "path": "./syntaxes/xpp.tmLanguage.json"
        }]
    }
}

и соответствующий language-configuration.json

{
    "comments": {
        // symbol used for single line comment. Remove this entry if your language does not support line comments
        "lineComment": "#",
    },
    // symbols used as brackets
    "brackets": [
        ["{", "}"],
        ["[", "]"],
        ["(", ")"]
    ],
    // symbols that are auto closed when typing
    "autoClosingPairs": [
        ["{", "}"],
        ["[", "]"],
        ["(", ")"],
        ["\"", "\""],
        ["'", "'"]
    ],
    // symbols that that can be used to surround a selection
    "surroundingPairs": [
        ["{", "}"],
        ["[", "]"],
        ["(", ")"],
        ["\"", "\""],
        ["'", "'"]
    ]
}

1 Ответ

0 голосов
/ 25 января 2019

Файл language-configuration.json определяет текстовые шаблоны, используемые в различных стандартных функциях кода VS, таких как переключение комментариев, как описано здесь .

Подсветка / раскраска синтаксиса осуществляется через точку вклада grammars в package.json, как описано здесь .

На основе вашего package.json вам нужно будет создать новый файл на ./syntaxes/xpp.tmLanguage.json со следующим содержимым, чтобы ваши комментарии были соответствующим образом окрашены. Фактический используемый цвет будет зависеть от вашей текущей темы .

{
    "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
    "name": "xpp",
    "scopeName": "source.xpp",
    "patterns": [
        {
            "include": "#comments"

        }

    ],
    "repository": {
        "comments": {
            "patterns": [{
                "name": "comment.line.number-sign.xpp",
                "match": "#.*"
            }]
        }
    }
}
...