Как я могу изменить цвет круглых скобок?

#python #visual-studio-code #vscode-settings

#python #visual-studio-code

Вопрос:

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

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

 function(arg1, arg2)
collection[index]  
  

скриншот

Комментарии:

1. Ищите тему, похожую на оригинальный vs code?

Ответ №1:

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


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

введите описание изображения здесь

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

введите описание изображения здесь

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

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

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

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

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

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

Комментарии:

1. Вау, это больше учебное пособие, чем ответ. Спасибо! На самом деле я использовал .generic области видимости, так что, думаю, они будут работать и для других языков. Теперь мой код выглядит как минтай, но это другая проблема.

2. Очень хорошее описание. Примечание: вы можете добавить несколько областей в «scope», если вы хотите определить один и тот же цвет, используйте запятую в качестве разделителя.

3. Спасибо! Этот инструмент проверки настолько полезен

4. Инспектор слишком хорош. Удалось выполнить множество специфических настроек.

5. Какой божественный ответ. Большое спасибо. Это «проверять области TM» — это все, что нам нужно, чтобы внести наши собственные изменения в цвет sintax.