Как я могу изменить окраску скобок и скобок? - PullRequest
3 голосов
/ 10 марта 2019

Это может быть общий вопрос vsCode, но я пытаюсь заставить его работать в плагине Microsoft Python для vsCode.
Я попробовал все определения textMate, которые отображаются как подсказки intellisense при редактировании файла настроек, но ни одно из них не сработало.

Я хочу раскрасить скобки, скобки и скобки или любой другой токен, чтобы визуально отличить предыдущий идентификатор (имя функции или имя коллекции) от того, что находится внутри разделителей (аргументы функции или индексы коллекции)

function(arg1, arg2)
collection[index]  

screenshot

1 Ответ

2 голосов
/ 10 марта 2019

В Visual Studio Code вы можете настроить множество синтаксических цветов в соответствии с вашими индивидуальными потребностями.


Допустим, мы хотим изменить цвет синтаксиса конкретной запятой - например, той, которая используется для разделения параметров функции - вам нужно будет знать, какой идентификатор имеет этот токен.Чтобы узнать это, просто нажмите ctrl+shift+P и введите Developer: Inspect TM Scopes.

enter image description here

Затем щелкните в любом месте открытого скрипта и выберите нужный символ или ключевое слово, о котором вы хотите узнать больше.Как вы можете видеть ниже, идентификатор для запятых между параметрами функции в Python равен punctuation.separator.parameters.python (кстати, есть также токен с именем punctuation.separator.arguments.python, так что вы даже можете использовать другой цвет для запятых между аргументами):

enter image description here

Теперь, когда у вас есть требуемый идентификатор для этого токена, вы можете добавить к своему settings.json следующее:

"editor.tokenColorCustomizations": {
    "textMateRules": [
        {
        "scope": "punctuation.separator.parameters.python",
            "settings": {
                "foreground": "#ff8800",
                "fontStyle": "bold"
            }
        }
    ]
}

.вы можете видеть, что вы можете не только изменять цвет, но и изменять стиль шрифта, если хотите, и можете разместить столько областей в "textMateRules", сколько захотите.

Это работает для скобок, скобок и фигурных скобок, а также для двоеточий, операторов любого типа, таких ключевых слов, как class, def и т. Д.

Таким образом, вы можете настроитьокраска синтаксиса без необходимости менять всю тему.И, конечно, вы можете сделать это практически со всеми языками, доступными в VSCode.

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

...