#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.